Passer au contenu principal
 

Comment générer toutes les combinaisons de 3 ou plusieurs colonnes dans Excel?

Auteur : Xiaoyang Dernière modification: 2020-12-08

En supposant que j'ai 3 colonnes de données, maintenant, je souhaite générer ou répertorier toutes les combinaisons de données dans ces 3 colonnes, comme illustré ci-dessous. Avez-vous de bonnes méthodes pour résoudre cette tâche dans Excel?

Générez 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 ou plusieurs colonnes de données à l'aide du code VBA

Générez toutes les combinaisons basées sur 3 ou plusieurs colonnes de données en utilisant une fonctionnalité géniale


Générez toutes les combinaisons basées sur 3 colonnes de données en utilisant une formule

La longue formule suivante peut aider à lister toutes les combinaisons de 3 colonnes, procédez comme suit:

1. Veuillez cliquer sur une cellule où afficher le résultat, puis copiez et collez la formule ci-dessous:

=IFERROR(INDEX($A$2:$A$4,INT((ROW(1:1)-1)/((COUNTA($B$2:$B$6)*(COUNTA($C$2:$C$5)))))+1)&"-"&INDEX($B$2:$B$6,MOD(INT((ROW(1:1)-1)/COUNTA($C$2:$C$5)),COUNTA($B$2:$B$6))+1)&"-"&INDEX($C$2:$C$5,MOD((ROW(1:1)-1),COUNTA($C$2:$C$5))+1),"")

Notes: 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 remplissage vers les cellules jusqu'à ce que les cellules vides soient affichées, ce qui signifie que toutes les combinaisons des 3 colonnes ont été répertoriées, voir capture d'écran:


Générer toutes les combinaisons basées sur 3 ou plusieurs colonnes de données à l'aide du code VBA

La formule longue ci-dessus est quelque peu difficile à utiliser, s'il y a plusieurs colonnes que les données doivent utiliser, il sera difficile de la modifier. Ici, je vais introduire un code VBA pour le gérer rapidement.

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 la fenêtre Module.

Code VBA: générez toutes les combinaisons de 3 ou plusieurs colonnes

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

Notes: Dans le code ci-dessus, A2: A4, B2: B6, C2: C5 sont la plage de données que vous souhaitez utiliser, E2 est la cellule de sortie dans laquelle vous souhaitez localiser les résultats. Si vous souhaitez obtenir toutes les combinaisons de plusieurs colonnes, veuillez modifier et ajouter d'autres paramètres au code selon vos besoins.

3. Puis appuyez F5 clé pour exécuter ce code, et toutes les combinaisons des 3 ou plusieurs colonnes seront générées en même temps, voir capture d'écran:


Générez toutes les combinaisons basées sur 3 ou plusieurs colonnes de données en utilisant une fonctionnalité géniale

Si vous avez Kutools for Excel, avec son puissant Lister toutes les combinaisons fonctionnalité, vous pouvez lister toutes les combinaisons de plusieurs colonnes rapidement et facilement.

Astuces:Appliquer cette Lister toutes les combinaisons fonctionnalité, tout d'abord, vous devez télécharger le Kutools for Excel, puis appliquez la fonction rapidement et facilement.

Après l'installation de Kutools for Excel, veuillez faire comme ceci:

1Cliquez sur Kutools > insérer > Lister toutes les combinaisons, voir capture d'écran:

2. Dans le Lister toutes les combinaisons boîte de dialogue, spécifiez les données des colonnes et les séparateurs pour lister les combinaisons comme illustré ci-dessous:

3. Après avoir défini les données et le séparateur, cliquez sur Ok bouton, dans la boîte d'invite suivante, sélectionnez une cellule pour localiser le résultat, voir capture d'écran:

4. Et puis, cliquez OK bouton, toutes les combinaisons ont été générées immédiatement comme illustré ci-dessous:

Cliquez pour télécharger Kutools pour Excel et un essai gratuit maintenant!


  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtrée
  • Fusionner les cellules / lignes / colonnes et conservation des données; Contenu des cellules divisées; Combiner les lignes en double et la somme / moyenne... Empêcher les cellules en double; Comparer les gammes
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Formules favorites et insérer rapidement, Plages, graphiques et images; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellules
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF
  • Regroupement du tableau croisé dynamique par numéro de semaine, jour de la semaine et plus encore ... Afficher les cellules déverrouillées et verrouillées par différentes couleurs; Mettre en évidence les cellules qui ont une formule / un nom
onglet kte 201905
  • 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!
bas de cabine