如何在 Excel 中生成三列或多列的所有组合?
本文介绍了三种在 Excel 中生成三列或多列组合的方法。第一个例子基于用户自定义公式生成可能的组合。第二个例子基于 VBA 代码生成所需组合。最后一个例子基于 Kutool 生成相同的数据。这三种方法都完全准确,并且可以生成有效且唯一的结果。
示例 1:使用公式在 Excel 中生成 3 列或多列的组合
步骤 1
要了解生成 3 行或多行组合的过程,用户需要考虑以下给定的数据 -
步骤 2
转到 H2 单元格,并在单元格中输入以下提供的公式 -
=IFERROR(INDEX($D$2:$D$4,INT((ROW(1:1)-1)/((COUNTA($E$2:$E$4)*(COUNTA($F$2:$F$4)))))+1)&"-"&INDEX($E$2:$E$4,MOD(INT((ROW(1:1)-1)/ COUNTA($F$2:$F$4)),COUNTA($E$2:$E$4))+1)&"-"&INDEX($F$2:$F$4,MOD((ROW(1:1)-1),COUNTA($F$2:$F$4))+1),"")
请参考以下图片 −
步骤 3
按 Enter 键。然后将"+"号拖到行底部。这将生成并输入可能的组合。
步骤 4
最终获得的输出,快照如下所示 -
示例 2:使用 VBA 代码在 Excel 中生成 3 列或多列的组合
步骤 1
在此示例中,我们将了解如何使用 VBA 代码生成可能的组合。然后,转到"开发人员"选项卡,然后选择"Visual Basic"选项,如下图所示。
步骤 2
这将打开"Microsoft Visual Basics for Applications"对话框,如下所示 -
步骤 3
然后,转到"插入"模块,然后选择"模块"选项。请参考以下快照 -
步骤 4
这将打开一个代码区。前往代码区,输入以下代码 -
'定义函数头
Sub Combination_List()
' 声明范围所需的变量
Dim x1, x2, x3 As Range
Dim x_range As Range
' 声明字符串变量
Dim str_x As String
' 声明整数变量
Dim x1_f, x2_f, x3_f As Integer
Dim x1_s, x2_s, x3_s As String
Set x1 = Range("D2:D4")
Set x2 = Range("E2:E4")
Set x3 = Range("F2:F4")
' 设置分隔符
str_x = "-" '分隔符
' 设置输出范围
' 输出单元格
Set x_range = Range("H2")
' 每次循环
For x1_f = 1 To x1.Count
x1_s = x1.Item(x1_f).Text
' 嵌套 for 循环表达式
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 Sub
请注意,VBA 只有在正确编写的情况下才能运行。这意味着语法和提供的命令必须有效才能执行代码。
请参考代码快照以获取正确参考 -
步骤 5
之后按"Ctrl + s"保存数据。返回工作表,用户将获得以下提供的输出。
示例 3:使用 Kutools 在 Excel 中生成 3 列或多列的组合
步骤 1
本示例使用 kutool 来实现所需任务。假设工作表处于初始状态,然后转到"Kutools"选项卡 → "编辑" → "插入" → "列出所有组合"。
步骤 2
这将打开"列出所有组合"对话框。请参考以下快照以获取正确参考 -
步骤 3
选择下方突出显示的按钮,逐个选择数据范围。
步骤 4
首先,从 D 列中选择数据范围,然后点击"确定"。
步骤5
返回"列出所有组合"对话框,点击"类型"下的"分隔符"选项,在"文本"部分中选择"-",然后点击"添加"按钮。
步骤 6
再次点击方框按钮,并从 E 列中选择数据范围。这将选择如下所示的数据。再次点击"确定"按钮。
步骤 7
再次设置分隔符,使用与之前相同的步骤,然后点击"添加"。数据将出现在"列出所有组合"对话框中。
步骤 8
同样,从"F"列中选择数据。
步骤 9
再次使用"-"号设置分隔符值。最后,点击"确定"。
步骤 10
这将关闭对话框。控制台上将出现一个新的对话框,其中包含一个输入选项,用于"列出所有组合"。在此输入空间中,传递用户想要输入数据的列值。
步骤 11
最终得到的结果如下:
结论
学习这三种方法后,用户将能够高效地生成 3 列或更多列的组合,而不会出现任何遗漏。这三种方法都简单易用。
相关文章
有用资源
excel 参考教程 - 该教程包含有关 excel 的更多信息:https://www.cainiaomax.com/excel/

