Hoe alle combinaties van 3 of meerdere kolommen in Excel te genereren?
Stel dat ik 3 kolommen met gegevens heb, en ik wil alle combinaties van de gegevens in deze 3 kolommen genereren of weergeven zoals in onderstaande schermafbeelding. Heeft u goede methoden om deze taak in Excel op te lossen?
Genereer alle combinaties op basis van 3 kolommen gegevens door een formule te gebruiken
Genereer alle combinaties op basis van 3 of meerdere kolommen gegevens door VBA-code te gebruiken
Genereer alle combinaties op basis van 3 kolommen gegevens door een formule te gebruiken
De volgende lange formule kan helpen om alle combinaties van 3 kolommen weer te geven, doe het volgende:
1. Klik op een cel waar je het resultaat wilt uitvoeren, en kopieer en plak vervolgens de onderstaande formule erin:
Opmerking: In deze formule: A2:A4, B2:B6, C2:C5 zijn de gegevensbereiken die je wilt gebruiken.
2. Sleep vervolgens de vulgreep naar beneden tot lege cellen worden weergegeven, dat betekent dat alle combinaties van de 3 kolommen zijn weergegeven, zie onderstaande schermafbeelding:
Genereer alle combinaties op basis van 3 of meerdere kolommen gegevens door VBA-code te gebruiken
De bovenstaande lange formule kan enigszins moeilijk te gebruiken zijn, als er meerdere kolomgegevens moeten worden gebruikt, zal het lastig zijn om aanpassingen te maken. Hier introduceer ik een VBA-code om dit snel af te handelen.
1. Houd de toetsen ALT + F11 ingedrukt om het venster Microsoft Visual Basic for Applications te openen.
2. Klik op Invoegen > Module, en plak de volgende code in het Modulevenster.
VBA-code: Genereer alle combinaties van 3 of meerdere kolommen
Sub ListAllCombinations()
'Updateby Extendoffice
Dim xDRg1, xDRg2, xDRg3 As Range
Dim xRg As Range
Dim xStr As String
Dim xFN1, xFN2, xFN3 As Integer
Dim xSV1, xSV2, xSV3 As String
Set xDRg1 = Range("A2:A4") 'First column data
Set xDRg2 = Range("B2:B6") 'Second column data
Set xDRg3 = Range("C2:C5") 'Third column data
xStr = "-" 'Separator
Set xRg = Range("E2") 'Output cell
For xFN1 = 1 To xDRg1.Count
xSV1 = xDRg1.Item(xFN1).Text
For xFN2 = 1 To xDRg2.Count
xSV2 = xDRg2.Item(xFN2).Text
For xFN3 = 1 To xDRg3.Count
xSV3 = xDRg3.Item(xFN3).Text
xRg.Value = xSV1 & xStr & xSV2 & xStr & xSV3
Set xRg = xRg.Offset(1, 0)
Next
Next
Next
End Sub
Opmerking: In de bovenstaande code zijn A2:A4, B2:B6, C2:C5 de gegevensbereiken die je wilt gebruiken, E2 is de uitvoercel waar je de resultaten wilt plaatsen. Als je alle combinaties van meer kolommen wilt krijgen, pas dan de code aan en voeg andere parameters toe indien nodig.
3. Druk vervolgens op de F5-toets om deze code uit te voeren, en alle combinaties van de 3 of meerdere kolommen worden tegelijk gegenereerd, zie onderstaande schermafbeelding:
Genereer alle combinaties op basis van 3 of meerdere kolommen gegevens door een geweldige functie te gebruiken
Als je Kutools voor Excel hebt, kun je met de krachtige functie Lijst alle combinaties alle combinaties van meerdere kolommen snel en gemakkelijk weergeven.
1. Klik op Kutools > Invoegen > Lijst alle combinaties, zie onderstaande schermafbeelding:
2. Specificeer in het dialoogvenster Lijst alle combinaties de kolomgegevens en scheidingstekens voor het weergeven van de combinaties zoals in onderstaande schermafbeelding te zien is:
3. Nadat je de gegevens en het scheidingsteken hebt ingesteld, klik dan op de knop OK, selecteer in het volgende venster een cel om het resultaat te plaatsen, zie onderstaande schermafbeelding:
4. Klik vervolgens op de knop OK, alle combinaties zijn onmiddellijk gegenereerd zoals in onderstaande schermafbeelding te zien is:
Kutools voor Excel - Boost Excel met meer dan 300 essentiële tools. Geniet van permanent gratis AI-functies! Nu verkrijgen
Beste Office-productiviteitstools
Versterk je Excel-vaardigheden met Kutools voor Excel en ervaar ongeëvenaarde efficiëntie. Kutools voor Excel biedt meer dan300 geavanceerde functies om je productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die je het meest nodig hebt...
Office Tab brengt een tabbladinterface naar Office en maakt je werk veel eenvoudiger
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
- Verhoog je productiviteit met50% en bespaar dagelijks honderden muisklikken!