Hoe genereer ik alle combinaties van 3 of meerdere kolommen in Excel?
Stel dat ik 3 kolommen met gegevens heb, nu wil ik alle combinaties van de gegevens in deze 3 kolommen genereren of weergeven, zoals onderstaand screenshot. Beschikt u over goede methoden om deze taak in Excel op te lossen?
Genereer alle combinaties op basis van 3 kolommen met gegevens met behulp van een formule
Genereer alle combinaties op basis van 3 of meerdere kolommen met gegevens met behulp van VBA-code
Genereer alle combinaties op basis van 3 kolommen met gegevens met behulp van een formule
De volgende lange formule kan helpen om alle combinaties van 3 kolommen weer te geven, doe dit als volgt:
1. Klik alstublieft op een cel waar u het resultaat wilt uitvoeren, en kopieer en plak de onderstaande formule erin:
Note: In deze formule: A2: A4, B2: B6, C2: C5 zijn de gegevensbereiken die u wilt gebruiken.
2. Sleep vervolgens de vulgreep naar de cellen totdat lege cellen worden weergegeven, dat betekent dat alle combinaties van de 3 kolommen zijn weergegeven, zie screenshot:
Genereer alle combinaties op basis van 3 of meerdere kolommen met gegevens met behulp van VBA-code
De bovenstaande lange formule is enigszins moeilijk te gebruiken, als er meerdere kolommen moeten worden gebruikt, zal het lastig zijn om deze aan te passen. Hier zal ik een VBA-code introduceren om er snel mee om te gaan.
1. Houd de ALT + F11 toetsen om de te openen Microsoft Visual Basic voor toepassingen venster.
2. Klikken Invoegen > Moduleen 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
Note: In de bovenstaande code, A2: A4, B2: B6, C2: C5 zijn het gegevensbereik dat u wilt gebruiken, E2 is de uitvoercel waarin u de resultaten wilt vinden. Als u alle combinaties van meer kolommen wilt hebben, wijzigt u de code en voegt u naar behoefte andere parameters toe aan de code.
3. Druk vervolgens op F5 sleutel om deze code uit te voeren, en alle combinaties van de 3 of meerdere kolommen worden tegelijk gegenereerd, zie screenshot:
Genereer alle combinaties op basis van 3 of meerdere kolommen met gegevens met behulp van een geweldige functie
Als je Kutools for Excel, met zijn krachtige Maak een lijst van alle combinaties functie, kunt u alle combinaties van meerdere kolommen snel en gemakkelijk weergeven.
Na het installeren van Kutools for Excel, doe dit als volgt:
1. Klikken Kutools > Invoegen > Maak een lijst van alle combinaties, zie screenshot:
2. In de Maak een lijst van alle combinaties dialoogvenster, specificeer de kolomgegevens en scheidingstekens voor het weergeven van de combinaties zoals in het volgende screenshot wordt getoond:
3. Nadat u de gegevens en het scheidingsteken heeft ingesteld, klikt u op Ok knop, selecteer in het volgende promptvenster een cel om het resultaat te vinden, zie screenshot:
4. En klik dan OK knop, zijn alle combinaties onmiddellijk gegenereerd zoals hieronder getoond screenshot:
Klik om Kutools voor Excel en nu gratis uit te proberen!
De beste tools voor kantoorproductiviteit
Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%
- Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
- Voeg cellen / rijen / kolommen samen en het bewaren van gegevens; Gespleten cellen inhoud; Combineer dubbele rijen en som / gemiddelde... Voorkom dubbele cellen; Vergelijk Ranges...
- Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
- Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
- Favoriete formules en snel invoegen, Bereiken, grafieken en afbeeldingen; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
- Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
- Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
- Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
- Draaitabel groeperen op weeknummer, dag van de week en meer ... Toon ontgrendelde, vergrendelde cellen door verschillende kleuren; Markeer cellen met formule / naam...
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!