So listen Sie alle möglichen Kombinationen von vier Spalten mit jeweils unterschiedlicher Datensatzanzahl auf

So listen Sie alle möglichen Kombinationen von vier Spalten mit jeweils unterschiedlicher Datensatzanzahl auf

Ich habe 4 Spalten mit jeweils einer unterschiedlichen Anzahl von Datensätzen. Ich möchte eine neue Tabelle mit diesen 4 Spalten erstellen und alle möglichen Kombinationen erhalten.

Meine ersten vier Spalten sind:

Spalte A (Segment) hat 10 Datensätze.
Spalte B (BAA-Sektor) hat 14 Datensätze.
Spalte C (Terminal) hat 4 Datensätze.
Spalte D (Stunde) hat 24 Datensätze.

Bildbeschreibung hier eingeben

Das Ergebnis sollte eine 4-Spalten-Tabelle mit 10*14*4*24 = 13440 Zeilen sein.

Können Sie mir bitte dabei helfen, das in Excel zu machen? Ich weiß, wie es geht, wenn die Anzahl der Datensätze in jeder Spalte gleich ist.

Antwort1

Dieses kurze Makro können Sie an Ihre Bedürfnisse anpassen:

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

verwandte Informationen