如何在 Excel 中生成三列或多列的所有组合?

ms excelmicrosoft technologiescomputers更新于 2024/6/1 8:12:17

本文介绍了三种在 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 列或更多列的组合,而不会出现任何遗漏。这三种方法都简单易用。


相关文章


有用资源