Hur genererar jag alla kombinationer av 3 eller flera kolumner i Excel?
Anta att jag har 3 kolumner med data och jag vill generera eller lista alla kombinationer av data i dessa 3 kolumner enligt skärmbilden nedan. Har du några bra metoder för att lösa denna uppgift i Excel?
Generera alla kombinationer baserat på tre datakolumner med hjälp av en formel
Generera alla kombinationer baserade på tre eller flera kolumner med data med hjälp av VBA-kod
Generera alla kombinationer baserat på tre datakolumner med hjälp av en formel
Följande långa formel kan hjälpa till att lista alla kombinationer av 3 kolumner, gör så här:
1. Klicka på en cell där du vill mata ut resultatet och kopiera och klistra in formeln nedan i den:
Anmärkningar: I denna formel: A2: A4, B2: B6, C2: C5 är de dataområden som du vill använda.
2. Dra sedan fyllningshandtaget ner till cellerna tills tomma celler visas, det vill säga alla kombinationer av de tre kolumnerna har listats, se skärmdump:
Generera alla kombinationer baserade på tre eller flera kolumner med data med hjälp av VBA-kod
Ovanstående långa formel kan vara lite svår att använda, om det finns flera kolumner som data behöver använda kommer det att vara besvärligt att ändra. Här kommer jag att introducera en VBA-kod för att hantera det snabbt.
1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.
2. Klicka Insert > Modulernaoch klistra in följande kod i modulfönstret.
VBA-kod: Generera alla kombinationer av tre eller flera kolumner
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
Anmärkningar: I ovanstående kod, A2: A4, B2: B6, C2: C5 är det dataområde som du vill använda, E2 är utdatacellen som du vill lokalisera resultaten. Om du vill få alla kombinationer av fler kolumner, vänligen ändra och lägg till andra parametrar i koden efter behov.
3. Tryck sedan på F5 nyckel för att köra den här koden, och alla kombinationer av 3 eller flera kolumner genereras samtidigt, se skärmdump:
Generera alla kombinationer baserat på tre eller flera kolumner med data med hjälp av en fantastisk funktion
Om du Kutools för Excel, med sin kraftfulla Lista alla kombinationer kan du snabbt och enkelt lista alla kombinationer av flera kolumner.
1. Klicka Kutools > Insert > Lista alla kombinationer, se skärmdump:
2. I Lista alla kombinationer dialogrutan, ange kolumndata och separatorer för att lista kombinationerna enligt följande skärmdump:
3. När du har ställt in data och separator klickar du sedan på Ok knappen, i nästa rutan, välj en cell för att hitta resultatet, se skärmdump:
4. Och klicka sedan på OK -knappen, alla kombinationer har genererats omedelbart enligt nedanstående skärmdump:
Kutools för Excel - Superladda Excel med över 300 viktiga verktyg. Njut av permanent gratis AI-funktioner! Hämta den nu
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!