Comment générer ou lister toutes les permutations possibles dans Excel?
Par exemple, j'ai trois caractères XYZ, maintenant, je veux lister toutes les permutations possibles basées sur ces trois caractères pour obtenir six résultats différents comme ceci: XYZ, XZY, YXZ, YZX, ZXY et ZYX. Dans Excel, comment pouvez-vous générer ou répertorier rapidement toutes les permutations en fonction d'un nombre différent de caractères?
Générer ou lister toutes les permutations possibles basées sur des caractères avec le code VBA
Générer ou lister toutes les permutations possibles basées sur des caractères avec le code VBA
Le code VBA suivant peut vous aider à répertorier toutes les permutations en fonction de votre nombre spécifique de lettres, procédez comme suit:
1. Maintenez le ALT + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.
2Cliquez sur insérer > Moduleet collez le code suivant dans le Module Fenêtre.
Code VBA: liste toutes les permutations possibles dans 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. Puis appuyez F5 clé pour exécuter ce code, et une boîte de dialogue apparaît pour vous rappeler d'entrer les caractères que vous souhaitez lister toutes les permutations, voir capture d'écran:
4. Après avoir entré les caractères, puis cliquez sur OK bouton, toutes les permutations possibles sont affichées dans la colonne A de la feuille de calcul active. Voir la capture d'écran:
Notes: Si la longueur de caractère saisie est égale ou supérieure à 8 caractères, ce code ne fonctionnera pas car il y a trop de permutations.
Répertoriez ou générez toutes les combinaisons possibles à partir de plusieurs colonnes
Si vous avez besoin de générer toutes les combinaisons possibles basées sur des données de plusieurs colonnes, il n'y a peut-être pas un bon moyen de gérer la tâche. Mais, Kutools for Excel's Lister toutes les combinaisons L'utilitaire peut vous aider à répertorier toutes les combinaisons possibles rapidement et facilement. Cliquer pour télécharger Kutools for Excel!
Kutools for Excel: avec plus de 300 compléments Excel pratiques, essai gratuit sans limitation dans 30 jours. Téléchargez et essayez gratuitement maintenant!
Meilleurs outils de productivité bureautique
Boostez vos compétences Excel avec Kutools for Excelet faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel Offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab Apporte une interface à onglets à Office et facilite grandement votre travail
- Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!













