Come generare o elencare tutte le possibili permutazioni in Excel?
Ad esempio, ho tre caratteri XYZ e ora voglio elencare tutte le possibili permutazioni basate su questi tre caratteri per ottenere sei risultati diversi come: XYZ, XZY, YXZ, YZX, ZXY e ZYX. In Excel, come potresti generare rapidamente o elencare tutte le permutazioni basate su un numero diverso di caratteri?
Genera o elenca tutte le possibili permutazioni basate sui caratteri con il codice VBA
Genera o elenca tutte le possibili permutazioni basate sui caratteri con il codice VBA
Il seguente codice VBA può aiutarti a elencare tutte le permutazioni in base al numero specifico di lettere; procedi come segue:
1. Tieni premuti i tasti ALT + F11 per aprire la finestra Microsoft Visual Basic for Applications.
2. Clicca su Inserisci > Modulo e incolla il seguente codice nella finestra del Modulo.
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 premi il tasto F5 per eseguire questo codice, e apparirà una finestra di dialogo che ti ricorderà di inserire i caratteri per i quali vuoi elencare tutte le permutazioni, vedi screenshot:
4. Dopo aver inserito i caratteri, fai clic sul pulsante OK e tutte le possibili permutazioni verranno visualizzate nella colonna A del foglio di lavoro attivo. Vedi screenshot:
Nota: Se la lunghezza dei caratteri inseriti è uguale o maggiore di 8 caratteri, questo codice non funzionerà perché ci sono troppe permutazioni.
Elenca o genera tutte le possibili combinazioni da più colonne
Se hai bisogno di generare tutte le possibili combinazioni basate sui dati di più colonne, forse non c'è un buon modo per gestire l'attività. Ma, Kutools per Excel's Elencare tutte le combinazioni utilità può aiutarti a elencare tutte le possibili combinazioni rapidamente e facilmente. Clicca per scaricare Kutools per Excel!
Kutools per Excel: con oltre 300 utili add-in per Excel, prova gratuita senza limitazioni per 30 giorni. Scarica e prova gratuita adesso!
I migliori strumenti per la produttività in Office
Migliora le tue competenze su Excel con Kutools per Excel e sperimenta un nuovo livello di efficienza. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...
Office Tab porta l’interfaccia a schede su Office, rendendo il tuo lavoro molto più semplice
- Abilita la modifica a schede e la lettura in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, invece che in nuove finestre.
- Aumenta la tua produttività del50% e ti fa risparmiare centinaia di clic ogni giorno!