Как составить список всех возможных комбинаций из четырех столбцов с разным количеством записей в каждом из них

Как составить список всех возможных комбинаций из четырех столбцов с разным количеством записей в каждом из них

У меня есть 4 столбца с разным количеством записей в каждом столбце. Я хочу получить новую таблицу, состоящую из этих 4 столбцов, и получить все возможные комбинации.

Мои первые четыре колонки таковы:

Столбец A (Сегмент) содержит 10 записей.
В столбце B (Сектор BAA) содержится 14 записей.
Столбец C (Терминал) содержит 4 записи.
Столбец D (Час) содержит 24 записи.

введите описание изображения здесь

Результатом должна быть таблица из 4 столбцов и 10*14*4*24 = 13440 строк.

Помогите, пожалуйста, сделать это в Excel? Я знаю, как это сделать, если бы количество записей в каждом столбце было одинаковым.

решение1

Вы можете адаптировать этот короткий макрос под свои нужды:

Sub kombin()
    Dim a As Long, b As Long, c As Long, d As Long
    Dim pack(1 To 4) As Variant, K As Long
    Dim s1 As Worksheet, s2 As Worksheet

    Set s1 = Sheets("Sheet1")
    Set s2 = Sheets("Sheet2")
    K = 1

    For a = 2 To 11
        pack(1) = s1.Cells(a, 1)
        For b = 2 To 15
            pack(2) = s1.Cells(b, 2)
                For c = 2 To 5
                    pack(3) = s1.Cells(c, 3)
                    For d = 2 To 26
                        pack(4) = s1.Cells(d, 4)
                        s2.Range("A" & K & ":D" & K) = pack
                        K = K + 1
                    Next d
                Next c
        Next b
    Next a
End Sub

Связанный контент