각각의 레코드 수가 다른 4개 열의 가능한 모든 조합을 나열하는 방법

각각의 레코드 수가 다른 4개 열의 가능한 모든 조합을 나열하는 방법

각 열의 레코드 수가 다른 4개의 열이 있습니다. 나는 4개의 열로 구성된 새 테이블을 얻고 가능한 모든 조합을 얻고 싶습니다.

내 초기 4개 열은 다음과 같습니다.

A열(세그먼트)에는 10개의 레코드가 있습니다.
B열(BAA 섹터)에는 14개의 레코드가 있습니다.
C열(터미널)에는 4개의 레코드가 있습니다.
D열(시간)에는 24개의 레코드가 있습니다.

여기에 이미지 설명을 입력하세요

결과는 10*14*4*24 = 13440행의 4열 테이블이어야 합니다.

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

관련 정보