Divers

Comment combiner deux jeux de données et créer toutes les combinaisons possible avec Excel

Vous avez deux jeux de données différents, par exemple une liste de clients et une liste de produits, et souhaitez les combiner pour obtenir une nouvelle liste avec toutes les combinaisons possible de clients et produits ?

La solution est plutôt simple, réalisable avec MS Excel en quelques minutes, et, même avec des milliers d’entrées, ne requiert quasiment aucun effort – beaucoup moins que de copier manuallement la seconde liste pour chaque valeur de la première liste – cette dernière solution prendrait des heures avec des centaines de valeurs.

In short :

  • Créer un identifiant (ID) donumérique allant de 1 jusqu’au nombre de lignes de chaque fichier source,
  • Dans le fichier résultat,
    • Créer un identifiant numérique dans la colonne A allant de 1 à la multiplication du compte des lignes du premier fichier entries et du second fichier, créant autant de lignes que la combinaison des deux jeux de données,
    • Ajouter une colonne, entrer la formule et l’étendre jusqu’à la dernière ligne =ROUNDUP(A2/[Compte de lignes du second fichier];0)
    • Ajouter une colonne, entrer la formule et l’étendre jusqu’à la dernière ligne =A2-([Compte de lignes du second fichier]*(B2-1))
    • Ajouter autant de colonnes que vous souhaitez récuperer des premier et second fichiers, et utilisez des vlookups sur les identifiants correspondants dans les fichiers source et résultat

Voyez ci-dessous un exemple complet, avec une liste de Clients et une liste de Produits

How to combine two data sets and create all possible combinations with Excel : Two data sets to combine into one by creating all possible combinations
Deux jeux de données à combiner dans un seul en créant toutes les combinaisons possibles

Commencez par créer des identifiants dans les deux fichiers, en ajoutant une colonne sur la gauche, entrant les valeurs 1 et 2 dans les deux premières lignes, sélectionnait les deux cellules, et double cliquant sur le signe + pour étendre l’incrémentation de l’identifiant jusqu’à la dernière ligne.

How to combine two data sets and create all possible combinations with Excel : Creation of first two IDs and appearance of the expand function
Création des deux premiers identifiants et apparition de la fonction d’extension

Le résultat sera les identifiants incrémentés jusqu’à la dernière ligne.

How to combine two data sets and create all possible combinations with Excel : IDs automatically incremented until the last line
Identifiants automatiquement incrémentés jusqu’à la dernière ligne

Prennez les valeurs d’identifiants maximum des deux listes Clients (C) et Produits (P). Créez un nouveau fichier, avec un colonne identifiant, et répétez l’opération d’extension, jusqu’à la ligne (C * P) + 1. Dans l’exemple ci-dessous, 7 valeurs différentes pour les Clients, et 7 pour Produits, résultant en 7 * 7 = 49 combinaisons, + 1 ligne pour le header.

How to combine two data sets and create all possible combinations with Excel : Result file with IDs for all possibilities
Fichier résulant avec des identifiants pour toutes les possibilités

Dans la colonne B, nous allons mettre P lignes par Client, puisque chacun d’entre eux aura une ligne par Produit. Ceci s’exécute en utilisant la formule ci-dessous dans la première ligne de la feuille de calcul, et l’étendant vers le bas (rappelez-vous pour se faire le double clic sur l’icône + dans le coin en bas à droite de la sélection de cellules)

=A2-([Compte de lignes du second fichier]*(B2-1))

How to combine two data sets and create all possible combinations with Excel : Function roundup to repeat each first file ID for as many second files entries
Fonction roundup pour répéter chaque identifiant du premier fichier autant de fois que l’on a de valeurs dans le second fichier

Das la colonne C, nous allons mettre un compte pour chaque Client, de 1 jusqu’au nombre de Produits. Même opération que précédemment, avec une autre formule (l’identifiant de la ligne courante moins le compte atteint pour la ligne Client précédente)

=A2-([Compte de lignes du second fichier]*(B2-1))

How to combine two data sets and create all possible combinations with Excel : Restart the second file ID count from 1 for each block of first file IDs
Rdémarrer le compte d’identifiant du second fichier à partir de 1 pour chaque bloc du premier fichier

Vérifiez si cela a fonctionné. Les Clients sont répétés P fois, et pour chacun d’eux, les identifiants Produits sont répétés de 1 à P

How to combine two data sets and create all possible combinations with Excel : Check that resulting file proposes all possible combinations
Vérifiez si le fichier résultat contient toutes les combinaisons possibles

Et c’est tout ! Ensuite, pour chaque colonne que vous souhaitez copier depuis les fichiers Clients ou Produits, ajouter une nouvelle colonne, et réalisez un Vlookup sur l’identifiant correspondant du fichier source.

=VLOOKUP(B2;[Clients.xlsx]Sheet1!$A:$B;2;0)
=VLOOKUP(B2;[Produits.xlsx]Sheet1!$A:$B;2;0)

How to combine two data sets and create all possible combinations with Excel : Result of combination of two data sets by creating some ID columns, and applying some vlookups
Résultat de la combinaison de deux jeux de données en créant des colonnes identifiant, et appliquant des vlookups