Hoppa till huvudinnehåll

Hur genererar eller listar jag alla möjliga permutationer i Excel?

Författare: Xiaoyang Senast ändrad: 2024-08-30

Till exempel har jag tre tecken XYZ, nu vill jag lista alla möjliga permutationer baserat på dessa tre tecken för att få sex olika resultat som detta: XYZ, XZY, YXZ, YZX, ZXY och ZYX. I Excel, hur kan du snabbt generera eller lista alla permutationer baserat på olika antal tecken?

Generera eller lista alla möjliga permutationer baserat på tecken med VBA-kod


pil blå höger bubbla Generera eller lista alla möjliga permutationer baserat på tecken med VBA-kod

Följande VBA-kod kan hjälpa dig att lista alla permutationer baserat på ditt specifika antal bokstäver, gör så här:

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 Modulerna Fönster.

VBA-kod: Lista alla möjliga permutationer i excel

Sub GetString()
'Updateby Extendoffice
    Dim xStr As String
    Dim FRow As Long
    Dim xScreen As Boolean
    xScreen = Application.ScreenUpdating
    Application.ScreenUpdating = False
    xStr = Application.InputBox("Enter text to permute:", "Kutools for Excel", , , , , , 2)
    If Len(xStr) < 2 Then Exit Sub
    If Len(xStr) >= 8 Then
        MsgBox "Too many permutations!", vbInformation, "Kutools for Excel"
        Exit Sub
    Else
        ActiveSheet.Columns(1).Clear
        FRow = 1
        Call GetPermutation("", xStr, FRow)
    End If
    Application.ScreenUpdating = xScreen
End Sub
Sub GetPermutation(Str1 As String, Str2 As String, ByRef xRow As Long)
    Dim i As Integer, xLen As Integer
    xLen = Len(Str2)
    If xLen < 2 Then
        Range("A" & xRow) = Str1 & Str2
        xRow = xRow + 1
    Else
        For i = 1 To xLen
            Call GetPermutation(Str1 + Mid(Str2, i, 1), Left(Str2, i - 1) + Right(Str2, xLen - i), xRow)
        Next
    End If
End Sub

3. Tryck sedan på F5 nyckel för att köra den här koden, och en snabbruta visas för att påminna dig om att du anger de tecken som du vill lista alla permutationer, se skärmdump:

skriv in de tecken som du vill ska lista alla permutationer i rutan

4. Efter att ha skrivit in tecknen och klicka sedan på OK -knappen visas alla möjliga permutationer i kolumn A i det aktiva kalkylbladet. Se skärmdump:

alla möjliga permutationer visas

Anmärkningar: Om den angivna teckenlängden är lika med eller större än åtta tecken fungerar den här koden inte eftersom det finns för många permutationer.

den angivna teckenlängden är inte lika med eller större än 8 tecken


Lista eller generera alla möjliga kombinationer från flera kolumner

Om du behöver generera alla möjliga kombinationer baserat på flera kolumndata finns det kanske inte ett bra sätt att hantera uppgiften. Men, Kutools for Excel's Lista alla kombinationer verktyget kan hjälpa dig att lista upp alla möjliga kombinationer snabbt och enkelt. Klicka för att ladda ner Kutools for Excel!

lista alla kombinationer av kutools

Kutools for Excel: med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsning på 30 dagar. Ladda ner och testa gratis nu!

Bästa kontorsproduktivitetsverktyg

🤖 Kutools AI-assistent: Revolutionera dataanalys baserat på: Intelligent utförande   |  Generera kod  |  Skapa anpassade formler  |  Analysera data och generera diagram  |  åberopa 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
Använda Kutools på ditt föredragna språk – stöder engelska, spanska, tyska, franska, kinesiska och över 40 andra!

Boosta dina Excel-kunskaper med Kutools for Exceloch upplev effektivitet som aldrig förr. Kutools for 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...


Office Tab Få ett flikargrä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!