Come generare o elencare tutte le possibili permutazioni in Excel?
Ad esempio, ho tre caratteri XYZ, ora, voglio elencare tutte le possibili permutazioni basate su questi tre caratteri per ottenere sei risultati diversi come questo: XYZ, XZY, YXZ, YZX, ZXY e ZYX. In Excel, come potresti generare o elencare rapidamente tutte le permutazioni in base a un numero diverso di caratteri?
Genera o elenca tutte le possibili permutazioni in base a caratteri con codice VBA
Genera o elenca tutte le possibili permutazioni in base a caratteri con codice VBA
Il seguente codice VBA può aiutarti a elencare tutte le permutazioni in base al tuo numero specifico di lettere, per favore fai come segue:
1. Tieni premuto il ALT + F11 chiavi per aprire il Microsoft Visual Basic, Applications Edition finestra.
2. Clic inserire > Modulie incolla il codice seguente nel file Moduli Finestra.
Codice VBA: elenca tutte le possibili permutazioni 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. Quindi premere F5 chiave per eseguire questo codice e viene visualizzata una finestra di messaggio per ricordarti di inserire i caratteri che desideri elencare tutte le permutazioni, vedi screenshot:
4. Dopo aver inserito i caratteri, quindi fare clic su OK pulsante, tutte le possibili permutazioni vengono visualizzate nella colonna A del foglio di lavoro attivo. Vedi screenshot:
Note:: Se la lunghezza dei caratteri immessi è uguale o superiore a 8 caratteri, questo codice non funzionerà perché ci sono troppe permutazioni.
Elenca o genera tutte le possibili combinazioni da più colonne
Se è necessario generare tutte le possibili combinazioni in base ai dati di più colonne, forse, non esiste un buon modo per gestire l'attività. Ma, Kutools for Excel's Elenca tutte le combinazioni utility può aiutarti a elencare tutte le possibili combinazioni in modo rapido e semplice. Fai clic per scaricare Kutools per Excel!
Kutools for Excel: con più di 300 utili componenti aggiuntivi di Excel, liberi di provare senza limitazioni in 30 giorni. Scarica e prova gratuita ora!
I migliori strumenti per la produttività in ufficio
Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Fai clic qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
- Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!