Hogyan lehet az összes lehetséges permutációt generálni vagy felsorolni az Excelben?
Például három karakterem van XYZ, most szeretnék felsorolni az összes lehetséges permutációt e három karakter alapján, hogy hat különböző eredményt kapjak: XYZ, XZY, YXZ, YZX, ZXY és ZYX. Az Excelben hogyan lehetne gyorsan előállítani vagy felsorolni az összes permutációt a különböző karakterek száma alapján?
Generáljon vagy soroljon fel minden lehetséges permutációt VBA kóddal ellátott karakterek alapján
Generáljon vagy soroljon fel minden lehetséges permutációt VBA kóddal ellátott karakterek alapján
A következő VBA-kód segíthet az összes permutáció felsorolásában az Ön betűinek száma alapján. Kérjük, tegye a következőket:
1. Tartsa lenyomva a ALT + F11 billentyűk megnyitásához Microsoft Visual Basic for Applications ablak.
2. Kattints betétlap > Modulok, és illessze be a következő kódot a Modulok Ablak.
VBA kód: Sorolja fel az összes lehetséges permutációt az excelben
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. Ezután nyomja meg a gombot F5 kulcs a kód futtatásához, és megjelenik egy felszólító mező, amely emlékezteti Önt arra, hogy beírja azokat a karaktereket, amelyeket fel akar sorolni az összes permutációról, lásd a képernyőképet:
4. A karakterek beírása után kattintson a gombra OK gombra kattintva az összes lehetséges permutáció megjelenik az aktív munkalap A oszlopában. Lásd a képernyőképet:
Megjegyzések: Ha a beírt karakter hossza legalább 8 karakter, akkor ez a kód nem fog működni, mert túl sok a permutáció.
Sorolja fel vagy generálja az összes lehetséges kombinációt több oszlopból
Ha az összes lehetséges kombinációt több oszlopadat alapján kell előállítania, akkor talán nincs jó módszer a feladat kezelésére. De, Kutools az Excel számára's Sorolja fel az összes kombinációt segédprogram segítségével gyorsan és egyszerűen felsorolhatja az összes lehetséges kombinációt. Kattintson a Kutools for Excel letöltéséhez!
Kutools az Excel számára: több mint 300 praktikus Excel-bővítménnyel, ingyenesen, korlátozás nélkül, 30 nap alatt kipróbálható. Töltse le és ingyenes próbaverziót most!
A legjobb irodai hatékonyságnövelő eszközök
Töltsd fel Excel-készségeidet a Kutools for Excel segítségével, és tapasztald meg a még soha nem látott hatékonyságot. A Kutools for Excel több mint 300 speciális funkciót kínál a termelékenység fokozásához és az időmegtakarításhoz. Kattintson ide, hogy megszerezze a leginkább szükséges funkciót...
Az Office lap füles felületet hoz az Office-ba, és sokkal könnyebbé teszi a munkáját
- Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
- Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
- 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!