Hvordan genereres eller liste alle mulige permutationer i Excel?
For eksempel har jeg tre tegn XYZ, nu vil jeg liste alle mulige permutationer baseret på disse tre tegn for at få seks forskellige resultater som dette: XYZ, XZY, YXZ, YZX, ZXY og ZYX. Hvordan kunne du i Excel hurtigt generere eller liste alle permutationer baseret på forskellige antal tegn?
Generer eller liste alle mulige permutationer baseret på tegn med VBA-kode
Generer eller liste alle mulige permutationer baseret på tegn med VBA-kode
Følgende VBA-kode kan hjælpe dig med at liste alle permutationer baseret på dit specifikke antal bogstaver, gør som følger:
1. Hold nede ALT + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.
2. Klik indsatte > Moduler, og indsæt følgende kode i Moduler Vindue.
VBA-kode: Liste over alle mulige 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. Tryk derefter på F5 nøgle til at køre denne kode, og der vises en promptboks for at minde dig om at indtaste de tegn, som du vil liste alle permutationer, se skærmbillede:
4. Efter indtastning af tegnene, og klik derefter på OK knappen vises alle mulige permutationer i kolonne A i det aktive regneark. Se skærmbillede:
Bemærk: Hvis den indtastede tegnlængde er lig med eller større end 8 tegn, fungerer denne kode ikke, fordi der er for mange permutationer.
Liste eller generer alle mulige kombinationer fra flere kolonner
Hvis du har brug for at generere alle mulige kombinationer baseret på flere kolonnedata, er der måske ikke en god måde at håndtere opgaven på. Men, Kutools til Excel's Liste over alle kombinationer værktøj kan hjælpe dig med at liste alle mulige kombinationer hurtigt og nemt. Klik for at downloade Kutools til Excel!
Kutools til Excel: med mere end 300 praktiske Excel-tilføjelsesprogrammer, gratis at prøve uden begrænsning på 30 dage. Download og gratis prøveversion nu!
Bedste kontorproduktivitetsværktøjer
Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid. Klik her for at få den funktion, du har mest brug for...
Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere
- Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
- Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
- Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!