Jak wygenerować lub wyświetlić wszystkie możliwe permutacje w programie Excel?
Na przykład mam trzy znaki XYZ, teraz chcę wymienić wszystkie możliwe permutacje na podstawie tych trzech znaków, aby uzyskać sześć różnych wyników, takich jak: XYZ, XZY, YXZ, YZX, ZXY i ZYX. W programie Excel, jak możesz szybko wygenerować lub wyświetlić wszystkie permutacje na podstawie różnej liczby znaków?
Wygeneruj lub wyświetl wszystkie możliwe permutacje na podstawie znaków z kodem VBA
Wygeneruj lub wyświetl wszystkie możliwe permutacje na podstawie znaków z kodem VBA
Poniższy kod VBA może pomóc w wyszczególnieniu wszystkich permutacji na podstawie określonej liczby liter, wykonaj następujące czynności:
1. Przytrzymaj ALT + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.
2. Kliknij wstawka > Modułi wklej następujący kod w Moduł Okno.
Kod VBA: wymień wszystkie możliwe permutacje w programie 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. Następnie naciśnij F5 klucz do uruchomienia tego kodu i pojawia się okno zachęty przypominające o wprowadzeniu znaków, które chcesz wyświetlić wszystkie permutacje, patrz zrzut ekranu:
4. Po wprowadzeniu znaków, a następnie kliknij OK przycisk, wszystkie możliwe permutacje są wyświetlane w kolumnie A aktywnego arkusza. Zobacz zrzut ekranu:
Note: Jeśli wprowadzona długość znaku jest równa lub większa niż 8 znaków, ten kod nie będzie działał, ponieważ jest zbyt wiele permutacji.
Wyświetl lub wygeneruj wszystkie możliwe kombinacje z wielu kolumn
Jeśli chcesz wygenerować wszystkie możliwe kombinacje na podstawie danych z wielu kolumn, być może nie ma dobrego sposobu na wykonanie zadania. Ale, Kutools dla programu Excel's Wyświetl wszystkie kombinacje narzędzie może pomóc w szybkim i łatwym wylistowaniu wszystkich możliwych kombinacji. Kliknij, aby pobrać Kutools dla programu Excel!
Kutools dla programu Excel: z ponad 300 poręcznymi dodatkami do programu Excel, które można wypróbować bez ograniczeń w ciągu 30 dni. Pobierz i bezpłatną wersję próbną teraz!
Najlepsze narzędzia biurowe
Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas. Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...
Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę
- Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
- Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
- Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!