如何为一组值或范围生成所有组合的可能性?

如何为一组值或范围生成所有组合的可能性?

参考下面的问题和答案, 如何生成 0-6 所有可能的 3 位数字组合

我有类似的情况(需要生成所有可能的组合),但对于如下表所示的一组值,总可能性将是 16807 种组合

A   B   C   D   E
54  23  43  1   1
21  45  433 5   51
25  65  456 3   3
65  66  5678    100 5
12  77  980 5   6
13  90  878 6   66
111 909 662 50  55

组合如下

A   B   C   D   E
54  23  43  1   1
54  23  43  1   51
54  23  43  1   3
54  23  43  1   5
54  23  43  1   6
54  23  43  1   66
54  23  43  1   55
54  23  43  5   1
54  23  43  5   51
54  23  43  5   3
54  23  43  5   5
54  23  43  5   6
54  23  43  5   66
54  23  43  5   55

111 909 662 50  55

手动操作会花很长时间,而且坦白说,我不是 Excel 专家。请帮帮我。

答案1

运行这个简短的宏:

Sub Combin()
    Dim i As Long, j As Long, k As Long, l As Long
    Dim nRow As Long
    nRow = 1
    With Sheets("Sheet1")
    For i = 1 To 7
      ii = .Cells(i, "A").Value
      For j = 1 To 7
        jj = .Cells(j, "B").Value
        For k = 1 To 7
          kk = .Cells(k, "C").Value
          For l = 1 To 7
            ll = .Cells(l, "D").Value
            Sheets("Sheet2").Cells(nRow, "A").Value = ii
            Sheets("Sheet2").Cells(nRow, "B").Value = jj
            Sheets("Sheet2").Cells(nRow, "C").Value = kk
            Sheets("Sheet2").Cells(nRow, "D").Value = ll
            nRow = nRow + 1
          Next l
        Next k
      Next j
    Next i
    End With
End Sub

将获取数据工作表1喜欢:

在此处输入图片描述

并产生如下数据:

在此处输入图片描述

工作表2对全部2401組合。

相关内容