Hoppa till huvudinnehåll

Hur listar man alla möjliga kombinationer från en kolumn i Excel?

Författare: Xiaoyang Senast ändrad: 2024-11-13

Om du vill returnera alla möjliga kombinationer från data i en kolumn för att få resultatet som visas nedan, har du några snabba sätt att hantera den här uppgiften i Excel?

Lista alla möjliga kombinationer från en kolumn med formler

Lista alla möjliga kombinationer från en kolumn med VBA-kod


Lista alla möjliga kombinationer från en kolumn med formler

Följande matrisformler kan hjälpa dig att uppnå detta jobb, vänligen gör steg för steg:

1. Först bör du skapa två hjälpformelceller. I cell C1, skriv in formeln nedan och tryck Ctrl + Skift + Enter nycklar för att få resultatet:

=MAX(LEN(A2:A6))
Anmärkningar: I denna formel, A2: A6 är listan över celler som du vill visa deras kombinationer.

skapa den första hjälpformeln

2. I cell C2 anger du följande formel och trycker på Ctrl + Skift + Enter tangenterna tillsammans för att få det andra resultatet, se skärmdump:

=CONCAT(A2:A6&REPT(" ",C2-LEN(A2:A6)))
Anmärkningar: I denna formel, A2: A6 är listan över celler som du vill visa deras kombinationer, C2 är cellen innehåller formeln du skapade i steg 1.

skapa den andra hjälpformeln

3. Kopiera och klistra sedan in följande formel i cell D2 och tryck Ctrl + Skift + Enter knappar tillsammans för att få det första resultatet, se skärmdump:

=IF(ROW()>2^(COUNTA(A$2:A$6)),"",TEXTJOIN(" + ",TRUE,IF(MID(TEXT(DEC2BIN(ROW()-1),REPT("0",COUNTA($A$2:$A$6))),ROW(INDIRECT("1:"&COUNTA($A$2:$A$6))),1)+0,TRIM(MID($C$3,(ROW(INDIRECT("1:"&COUNTA($A$2:$A$6)))-1)*$C$2+1,$C$2)),"")))
Anmärkningar: I denna formel, A2: A6 är listan över celler som du vill visa deras kombinationer, C2 är cellen innehåller formeln du skapade i steg 1, C3 är cellen med formeln du skapade i steg 2, den + karaktär är avgränsaren för att separera kombinationerna, du kan ändra dem efter behov.

ange en formel

4. Och välj sedan den här formelcellen och dra fyllningshandtaget nedåt tills tomma celler visas. Nu kan du se alla kombinationer av de angivna kolumndata visas som nedan demo visas:

Anmärkningar: Denna formel är endast tillgänglig i Office 2019, 365 och senare versioner.
en skärmdump av kutools för excel ai

Lås upp Excel Magic med Kutools AI

  • Smart utförande: Utför celloperationer, analysera data och skapa diagram – allt drivs av enkla kommandon.
  • Anpassade formler: Skapa skräddarsydda formler för att effektivisera dina arbetsflöden.
  • VBA-kodning: Skriv och implementera VBA-kod utan ansträngning.
  • Formeltolkning: Förstå komplexa formler med lätthet.
  • Textöversättning: Bryt språkbarriärerna i dina kalkylblad.
Förbättra dina Excel-funktioner med AI-drivna verktyg. Hämta hem nu och upplev effektivitet som aldrig förr!

Lista alla möjliga kombinationer från en kolumn med VBA-kod

Ovanstående formler är endast tillgängliga för nyare Excel-versioner, om du har tidigare Excel-versioner kan följande VBA-kod göra dig en tjänst.

1. Tryck Alt + F11 samtidigt för att öppna Microsoft Visual Basic för applikationer fönster.

2. Klicka sedan Insert > Modulerna, kopiera och klistra in nedanstående VBA-kod i fönstret.

VBA-kod: Lista alla möjliga kombinationer från en kolumn

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
Anmärkningar: I ovanstående kod:
  • A2: A6: är listan över data som du vill använda;
  • C1: är utgångscellen;
  • ,: avgränsaren för att separera kombinationerna.

3. Och tryck sedan på F5 nyckel för att exekvera denna kod. Alla kombinationer från den enskilda kolumnen listas enligt nedanstående skärmdump:

vba-kod för att få alla kombinationer från den enda kolumnen

Bästa kontorsproduktivitetsverktyg

🤖 Kutools AI Aide: Revolutionera dataanalys baserat på: Intelligent utförande   |  Generera kod  |  Skapa anpassade formler  |  Analysera data och generera diagram  |  Anropa Kutools funktioner.
Populära funktioner: Hitta, markera eller identifiera dubbletter   |  Ta bort tomma rader   |  Kombinera kolumner eller celler utan att förlora data   |   Rund utan formel ...
Superuppslag: Flera kriterier VLookup    VLookup med flera värden  |   VSök över flera ark   |   Fuzzy Lookup ....
Avancerad rullgardinslista: Skapa snabbt en rullgardinslista   |  Beroende rullgardinslista   |  Flervals-rullgardinslista ....
Kolumnhanterare: Lägg till ett specifikt antal kolumner  |  Flytta kolumner  |  Växla synlighetsstatus för dolda kolumner  |  Jämför intervall och kolumner ...
Utvalda funktioner: Rutnätsfokus   |  Designvy   |   Stor formelbar    Arbetsbok & Bladhanterare   |  Resursbibliotek (Automatisk text)   |  Datumväljare   |  Kombinera arbetsblad   |  Kryptera/Dekryptera celler    Skicka e-postmeddelanden efter lista   |  Superfilter   |   Specialfilter (filtrera fet/kursiv/genomstruken...) ...
Topp 15 verktygssatser12 text verktyg (lägga till text, Ta bort tecken, ...)   |   50+ Diagram Typer (Gantt Chart, ...)   |   40+ Praktiskt Formler (Beräkna ålder baserat på födelsedag, ...)   |   19 Införande verktyg (Infoga QR-kod, Infoga bild från sökväg, ...)   |   12 Konvertering verktyg (Siffror till ord, Valutaväxling, ...)   |   7 Slå ihop och dela verktyg (Avancerade kombinera rader, Dela celler, ...)   |   ... och mer

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!