如何找到2个元素到n列的排列,每个行组合都是唯一的

时间:2019-01-25 13:13:41

标签: excel vba permutation

我正在编写一个VBA excel代码,以查找2级因素的所有不同组合。每个因素将有2个可能的水平。例如,如果我有3个因素,则可能的级别组合数量为2^3 = 8。我的目标是在Excel中打印出8种组合。

例如,我的因子(水平)为Weight(50,60),而height(160,170)的唯一组合为

50,160
50,170
60,160
60,170

A栏中的重量和B栏中的高度

我的问题是是否可以写出VBA代码以打印出所有可能的因素组合(范围为2-12),并且代码应使用excel VBA编写

1 个答案:

答案 0 :(得分:0)

这是一个使用嵌套循环的两个因素的小例子:

Sub Kombination()
    Dim N As Long, M As Long, i As Long, j As Long
    Dim K As Long

    N = Cells(Rows.Count, "A").End(xlUp).Row
    M = Cells(Rows.Count, "B").End(xlUp).Row
    K = 2

    For i = 2 To N
        For j = 2 To M
            Cells(K, 3).Value = Cells(i, 1).Value & "," & Cells(j, 2).Value
            K = K + 1
        Next j
    Next i
End Sub

enter image description here

确定因子数量后,修改代码以在该级别嵌套。