Comment générer toutes les combinaisons de 3 colonnes ou plus dans Excel ?
Supposons que j'ai 3 colonnes de données et que je souhaite générer ou lister toutes les combinaisons des données de ces 3 colonnes, comme le montre la capture d'écran ci-dessous. Avez-vous des bonnes méthodes pour résoudre cette tâche dans Excel ?
Générer toutes les combinaisons basées sur 3 colonnes de données en utilisant une formule
Générer toutes les combinaisons basées sur 3 colonnes ou plus de données en utilisant du code VBA
Générer toutes les combinaisons basées sur 3 colonnes de données en utilisant une formule
La formule longue suivante peut vous aider à lister toutes les combinaisons de 3 colonnes, veuillez procéder comme suit :
1. Cliquez sur une cellule où vous souhaitez afficher le résultat, puis copiez et collez la formule ci-dessous dedans :
Remarque : Dans cette formule : A2:A4, B2:B6, C2:C5 sont les plages de données que vous souhaitez utiliser.
2. Ensuite, faites glisser la poignée de recopie vers le bas jusqu'à ce que des cellules vides apparaissent, ce qui signifie que toutes les combinaisons des 3 colonnes ont été listées, voir capture d'écran :
Générer toutes les combinaisons basées sur 3 colonnes ou plus de données en utilisant du code VBA
La formule longue ci-dessus peut être quelque peu difficile à utiliser, surtout si plusieurs colonnes doivent être prises en compte, ce qui complique sa modification. Voici donc une solution avec un code VBA pour traiter cela rapidement.
1. Maintenez les touches ALT + F11 enfoncées pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.
2. Cliquez sur Insertion > Module, puis collez le code suivant dans la fenêtre Module.
Code VBA : Générer toutes les combinaisons de 3 colonnes ou plus
Sub ListAllCombinations()
'Updateby Extendoffice
Dim xDRg1, xDRg2, xDRg3 As Range
Dim xRg As Range
Dim xStr As String
Dim xFN1, xFN2, xFN3 As Integer
Dim xSV1, xSV2, xSV3 As String
Set xDRg1 = Range("A2:A4") 'First column data
Set xDRg2 = Range("B2:B6") 'Second column data
Set xDRg3 = Range("C2:C5") 'Third column data
xStr = "-" 'Separator
Set xRg = Range("E2") 'Output cell
For xFN1 = 1 To xDRg1.Count
xSV1 = xDRg1.Item(xFN1).Text
For xFN2 = 1 To xDRg2.Count
xSV2 = xDRg2.Item(xFN2).Text
For xFN3 = 1 To xDRg3.Count
xSV3 = xDRg3.Item(xFN3).Text
xRg.Value = xSV1 & xStr & xSV2 & xStr & xSV3
Set xRg = xRg.Offset(1, 0)
Next
Next
Next
End Sub
Remarque : Dans le code ci-dessus, A2:A4, B2:B6, C2:C5 sont les plages de données que vous souhaitez utiliser, E2 est la cellule de sortie où vous voulez placer les résultats. Si vous souhaitez obtenir toutes les combinaisons de plus de colonnes, modifiez et ajoutez d'autres paramètres au code selon vos besoins.
3. Ensuite, appuyez sur la touche F5 pour exécuter ce code, et toutes les combinaisons des 3 colonnes ou plus seront générées immédiatement, voir capture d'écran :
Générer toutes les combinaisons basées sur 3 colonnes ou plus de données en utilisant une fonctionnalité exceptionnelle
Si vous avez Kutools pour Excel, avec sa puissante fonctionnalité Lister toutes les combinaisons, vous pouvez lister toutes les combinaisons de plusieurs colonnes rapidement et facilement.
1. Cliquez sur Kutools > Insérer > Lister toutes les combinaisons, voir capture d'écran :
2. Dans la boîte de dialogue Lister toutes les combinaisons, spécifiez les données des colonnes et les séparateurs pour lister les combinaisons comme le montre la capture d'écran suivante :
3. Après avoir défini les données et le séparateur, cliquez ensuite sur le bouton OK, dans la boîte de dialogue suivante, sélectionnez une cellule pour localiser le résultat, voir capture d'écran :
4. Puis, cliquez sur le bouton OK, toutes les combinaisons sont générées immédiatement comme le montre la capture d'écran ci-dessous :
Kutools pour Excel - Boostez Excel avec plus de 300 outils essentiels. Profitez de fonctionnalités IA gratuites en permanence ! Obtenez-le maintenant
Meilleurs outils de productivité pour Office
Boostez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité sans précédent. Kutools pour Excel propose plus de300 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
- Activez la modification 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é de50 %, et réduit des centaines de clics de souris pour vous chaque jour !