如何在Excel中生成所有三列或多列的组合? |
您所在的位置:网站首页 › c33排列组合公式 › 如何在Excel中生成所有三列或多列的组合? |
如何在Excel中生成所有三列或多列的组合?
本文介绍三种可能的方法为用户在Excel中生成三列或多列的可能组合。第一个示例基于使用用户定义的公式来生成可能的组合。第二个示例基于使用VBA代码的方法来生成所需的组合。而最后一个示例是基于使用Kutool来生成相同的数据。所有三种方法都是完全准确的,并且可以生成有效和唯一的结果。 示例1:通过公式在Excel中生成3个或多个列的组合 第1步要了解生成3列或多行可能组合的过程,用户需要考虑下面给出的数据 – 进入H2单元格并将以下提供的公式键入该单元格 – =IFERROR(INDEX(D2:D4,INT((ROW(1:1)-1)/((COUNTA(E2:E4)*(COUNTA(F2:F4)))))+1)&"-"&INDEX(E2:E4,MOD(INT((ROW(1:1)-1)/ COUNTA(F2:F4)),COUNTA(E2:E4))+1)&"-"&INDEX(F2:F4,MOD((ROW(1:1)-1),COUNTA(F2:F4))+1),"")请参考以下提供的图像 – 按 “Enter” 键。然后将“+”标志拖到行的底部。这将生成并输入可能的组合。 最终获得的输出,快照如下 – 在本示例中,将观察使用VBA代码生成可能组合的方法。然后转到 “开发人员” 选项卡,然后选择 “Visual Basic” 选项,如下图所示。 这将打开 “Microsoft Visual Basics for Applications” 对话框,如下所示- 然后进入 “插入” 模块,然后选择 “模块” 选项。参考以下快照 – 这将打开一个代码区域。进入代码区域,键入以下代码 – 'Define function header Sub Combination_List() ' declare required variables for range Dim x1, x2, x3 As Range Dim x_range As Range ' declare a string variable Dim str_x As String ' declare Integer variable Dim x1_f, x2_f, x3_f AsInteger Dim x1_s, x2_s, x3_s As String Set x1 = Range("D2:D4") Set x2 = Range("E2:E4") Set x3 = Range("F2:F4") ' setting Separator str_x = "-" 'Separator ' setting output range ' Output cell Set x_range = Range("H2") ' for each loop For x1_f = 1 To x1.Count x1_s = x1.Item(x1_f).Text ' nested for loop expressions For x2_f = 1 To x2.Count x2_s = x2.Item(x2_f).Text For x3_f = 1 To x3.Count x3_s = x3.Item(x3_f).Text x_range.Value = x1_s & str_x & x2_s & str_x & x3_s Set x_range = x_range.Offset(1, 0) Next Next Next ' end of module End Sub请注意,只有在正确编写时,VBA才能运行。这意味着语法和提供的命令必须有效才能执行代码。 请参考代码快照以获得正确的参考 – 然后按下“Ctrl + s”保存数据。回到工作表,用户将获得以下输出。 这个例子使用Kutool来完成所需的任务。考虑具有初始状态的相同工作表,然后转到“Kutools”选项卡 →“编辑”→“插入”→“列出所有组合”。 这将打开 “列出所有组合” 对话框。请参考下面的截图。 选择下面突出显示的按钮,逐个选择数据范围。 首先,从D列选择数据范围,然后单击 “确定” 。 回到 “列出所有组合” 对话框,点击 “类型” 下的 “分隔符” 选项,在 “文本” 一栏中选择 “-” ,然后单击 “添加” 按钮。 再次点击框、按钮并从E列选择数据范围。这将选择下面给出的数据。再次单击 “确定” 按钮。 同样,设置分隔符,使用与之前相同的步骤,然后单击 “添加” 。数据将出现在 “所有组合” 对话框中。 同样,从 “F” 列中选择数据。 再次使用“-”符号设置分隔符。最后,单击 “确定” 。 这将关闭对话框。出现一个新的 “列出所有组合” 对话框,其中有一个输入选项。在这个输入空间中,输入用户想要输入数据的列值。 最后,得到的结果如下所示。 在学习了所有三种方法后,用户将能够高效地生成3列或更多列的组合,不会漏掉任何内容。所有三种提供的方法都简单易用。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |