Wie listet man alle möglichen Kombinationen aus einer einzelnen Spalte in Excel auf?
Wenn Sie alle möglichen Kombinationen aus Einzelspaltendaten zurückgeben möchten, um das Ergebnis wie im folgenden Screenshot zu erhalten, haben Sie eine schnelle Möglichkeit, diese Aufgabe in Excel zu erledigen?
Listen Sie alle möglichen Kombinationen aus einer einzelnen Spalte mit Formeln auf
Listen Sie alle möglichen Kombinationen aus einer einzelnen Spalte mit VBA-Code auf
Listen Sie alle möglichen Kombinationen aus einer einzelnen Spalte mit Formeln auf
Die folgenden Array-Formeln können Ihnen helfen, diese Aufgabe zu erfüllen, bitte gehen Sie Schritt für Schritt vor:
1. Zuerst sollten Sie zwei Hilfsformelzellen erstellen. Geben Sie in Zelle C1 die folgende Formel ein und drücken Sie Strg + Umschalt + Enter Tasten, um das Ergebnis zu erhalten:
2. Geben Sie in Zelle C2 die folgende Formel ein und drücken Sie Strg + Umschalt + Enter Tasten zusammen, um das zweite Ergebnis zu erhalten, siehe Screenshot:
3. Kopieren Sie dann die folgende Formel, fügen Sie sie in Zelle D2 ein und drücken Sie Strg + Umschalt + Enter Tasten zusammen, um das erste Ergebnis zu erhalten, siehe Screenshot:
4. Wählen Sie dann diese Formelzelle aus und ziehen Sie den Füllgriff nach unten, bis leere Zellen angezeigt werden. Jetzt können Sie sehen, dass alle Kombinationen der angegebenen Spaltendaten wie unten gezeigt angezeigt werden:
Listen Sie alle möglichen Kombinationen aus einer einzelnen Spalte mit VBA-Code auf
Die obigen Formeln sind nur für neuere Excel-Versionen verfügbar, wenn Sie frühere Excel-Versionen haben, kann Ihnen der folgende VBA-Code einen Gefallen tun.
1. Drücken Sie Alt + F11 Tasten gleichzeitig zum Öffnen der Microsoft Visual Basic für Applikationen Fenster.
2. Dann klick Insert > Modul, kopieren Sie den folgenden VBA-Code und fügen Sie ihn in das Fenster ein.
VBA-Code: Listen Sie alle möglichen Kombinationen aus einer einzelnen Spalte auf
Sub ConnectArr()
'Updateby ExtendOffice
Dim xDValue As Variant
Dim xOutRg As Range
Dim xDictionary As Object
Dim xF As Long
Dim xChar As String
xDValue = Range("A2:A6").Value 'the data range
Set xOutRg = Range("C1") 'output range
xChar = "," 'separator
For xF = 1 To UBound(xDValue)
Set xDictionary = CreateObject("Scripting.Dictionary")
xDictionary(0) = "Sets of " & xF
Call ConnectValue(xDValue, xDictionary, 0, xF, 0, "", xChar)
xOutRg.Offset(0, xF - 1).Resize(xDictionary.Count).Value = WorksheetFunction.Transpose(xDictionary.Items)
Set xDictionary = Nothing
Next
End Sub
Sub ConnectValue(ByRef pDValue, ByRef pDictionary, ByRef pLevel, ByVal pMaxLevel, ByVal pIndex, ByVal pValue, ByVal pChar)
Dim xF As Long
If pLevel = pMaxLevel Then
pDictionary(pDictionary.Count + 1) = pValue
Exit Sub
End If
For xF = pIndex + 1 To UBound(pDValue)
If pValue = "" Then
Call ConnectValue(pDValue, pDictionary, pLevel + 1, pMaxLevel, xF, pDValue(xF, 1), pChar)
Else
Call ConnectValue(pDValue, pDictionary, pLevel + 1, pMaxLevel, xF, pValue & pChar & pDValue(xF, 1), pChar)
End If
Next
End Sub
- A2: A6: ist die Liste der Daten, die Sie verwenden möchten;
- C1: ist die Ausgabezelle;
- ,: das Trennzeichen zum Trennen der Kombinationen.
3. Und dann drücken F5 Taste, um diesen Code auszuführen. Alle Kombinationen aus der einzelnen Spalte werden wie im folgenden Screenshot gezeigt aufgelistet:
Beste Office-Produktivitätstools
Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über 300 erweiterte Funktionen, um die Produktivität zu steigern und Zeit zu sparen. Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen ...
Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich
- Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
- Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!