Hoe alle mogelijke permutaties in Excel te genereren of weer te geven?
Ik heb bijvoorbeeld drie tekens XYZ, nu wil ik een lijst maken van alle mogelijke permutaties op basis van deze drie tekens om zes verschillende resultaten te krijgen: XYZ, XZY, YXZ, YZX, ZXY en ZYX. Hoe kunt u in Excel snel alle permutaties genereren of weergeven op basis van een verschillend aantal tekens?
Genereer of maak een lijst van alle mogelijke permutaties op basis van tekens met VBA-code
Genereer of maak een lijst van alle mogelijke permutaties op basis van tekens met VBA-code
De volgende VBA-code kan u helpen om alle permutaties weer te geven op basis van uw specifieke aantal letters, doe dit als volgt:
1. Houd de ALT + F11 toetsen om de te openen Microsoft Visual Basic voor toepassingen venster.
2. Klikken Invoegen > Moduleen plak de volgende code in het Module Venster.
VBA-code: maak een lijst van alle mogelijke permutaties in 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. Druk vervolgens op F5 sleutel om deze code uit te voeren, en er verschijnt een promptvenster om u eraan te herinneren de tekens in te voeren waarvan u alle permutaties wilt weergeven, zie screenshot:
4. Na het invoeren van de tekens, en klik vervolgens op OK knop, worden alle mogelijke permutaties weergegeven in kolom A van het actieve werkblad. Zie screenshot:
Note: Als de ingevoerde tekenlengte gelijk is aan of groter is dan 8 tekens, zal deze code niet werken omdat er te veel permutaties zijn.
Maak een lijst of genereer alle mogelijke combinaties uit meerdere kolommen
Als u alle mogelijke combinaties moet genereren op basis van gegevens met meerdere kolommen, is er misschien geen goede manier om met de taak om te gaan. Maar, Kutools for Excel's Maak een lijst van alle combinaties hulpprogramma kan u helpen om alle mogelijke combinaties snel en gemakkelijk op te sommen. Klik om Kutools voor Excel te downloaden!
Kutools for Excel: met meer dan 300 handige Excel-invoegtoepassingen, gratis te proberen zonder beperking in 30 dagen. Download en probeer nu gratis!
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar effici毛ntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!