Hoe alle mogelijke combinaties in Excel weergeven of genereren?
Laten we zeggen dat ik de volgende twee kolommen met gegevens heb, en nu wil ik een lijst met alle mogelijke combinaties genereren op basis van de twee lijsten met waarden zoals het linker screenshot wordt getoond. Misschien kunt u alle combinaties een voor een opsommen als er weinig waarden zijn, maar als er meerdere kolommen zijn met meerdere waarden die nodig zijn om de mogelijke combinaties te vermelden, zijn hier enkele snelle trucs die u kunnen helpen om dit probleem in Excel op te lossen .
Maak een lijst of genereer alle mogelijke combinaties uit twee lijsten met formule
Maak een lijst of genereer alle mogelijke combinaties uit drie of meer lijsten met VBA-code
Maak een lijst of genereer alle mogelijke combinaties uit meerdere lijsten met een krachtige functie
Maak een lijst of genereer alle mogelijke combinaties uit twee lijsten met formule
De volgende lange formule kan u helpen om alle mogelijke combinaties van twee lijstwaarden snel op te sommen, doe dit als volgt:
1. Typ of kopieer de onderstaande formule naar een lege cel, in dit geval voer ik deze in cel D2 in en druk vervolgens op Enter sleutel om het resultaat te krijgen, zie screenshot:
2. Selecteer vervolgens cel D2 en sleep de vulgreep naar de cellen totdat u de lege cellen krijgt en alle mogelijke combinaties zijn weergegeven op basis van de twee lijstwaarden. Zie screenshot:
Maak een lijst of genereer alle mogelijke combinaties uit drie of meer lijsten met VBA-code
Misschien is de bovenstaande formule enigszins moeilijk toe te passen, als er gegevens uit meerdere kolommen zijn, is het lastig 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 Module Venster.
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:A5") 'First column data
Set xDRg2 = Range("B2:B4") 'Second column data
Set xDRg3 = Range("C2:C4") '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
3. Druk vervolgens op F5 sleutel om deze code uit te voeren, en alle combinaties van de 3 kolommen worden in één keer gegenereerd, zie screenshot:
Maak een lijst of genereer alle mogelijke combinaties uit meerdere lijsten met een krachtige functie
Als er meerdere lijstwaarden zijn, moeten de mogelijke combinaties worden vermeld, misschien is het moeilijk voor u om de code te wijzigen. Hier kan ik een krachtig hulpmiddel aanbevelen - Kutools for Excel, het bevat een handige functie Maak een lijst van alle combinaties die snel alle mogelijke combinaties kan weergeven op basis van gegeven datalijsten.
Na het installeren van Kutools for Excel, doe dit als volgt:
1. Klik Kutools > Invoegen > Maak een lijst van alle combinaties, zie screenshot:
2. In de Maak een lijst van alle combinaties dialoogvenster, voer de bewerkingen uit zoals hieronder getoond demo:
3. Vervolgens zijn alle opgegeven waarden en scheidingstekens in het dialoogvenster weergegeven, zie screenshot:
4.En klik vervolgens Ok knop, en er verschijnt een promptvenster om u eraan te herinneren een cel te selecteren om het resultaat uit te voeren, zie screenshot:
5. Klikken OK, zijn alle mogelijke combinaties op basis van de gegeven lijsten in het werkblad gegenereerd zoals in de volgende schermafbeelding:
Klik om Kutools nu voor Excel te downloaden!
Meer relatieve artikelen:
- Genereer alle combinaties van 3 of meerdere kolommen
- 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?
- Vind alle combinaties die gelijk zijn aan een gegeven som
- Ik heb bijvoorbeeld de volgende lijst met getallen, en nu wil ik weten welke combinatie van getallen in de lijst 480 is, in de volgende schermafbeelding zie je dat er vijf groepen mogelijke combinaties zijn die gelijk zijn tot 480, zoals 300 + 60 + 120, 300 + 60 + 40 + 80, enz. In dit artikel zal ik het hebben over enkele methoden om te achterhalen welke cellen een bepaalde waarde in Excel opleveren.
- Genereer of maak een lijst van alle mogelijke permutaties
- Ik heb bijvoorbeeld drie tekens XYZ, nu wil ik een lijst maken van alle mogelijke permutaties op basis van deze drie tekens om zes verschillende resultaten te krijgen: XYZ, XZY, YXZ, YZX, ZXY en ZYX. Hoe kunt u in Excel snel alle permutaties genereren of weergeven op basis van een verschillend aantal tekens?
- Genereer een lijst met alle mogelijke combinaties van 4 cijfers
- In sommige gevallen moeten we mogelijk een lijst genereren van alle mogelijke combinaties van 4 cijfers van de cijfers 0 tot 9, wat betekent dat we een lijst moeten genereren van 0000, 0001, 0002… 9999. Om de lijsttaak snel in Excel op te lossen, introduceer ik enkele trucs voor je.
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- 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!