Comment créer une liste de valeurs uniques à partir de plusieurs listes

Liste de texte

Liste de texte

Un problème récurrent sous Excel consiste à créer une liste de valeurs uniques de données, à partir d’une ou plusieurs listes. Je vais vous montrer 2 méthodes pour éliminer les doublons à partir d’une ou plusieurs listes.

Imaginez par exemple que vous travaillez sur des listes d’email de clients à qui vous avez envoyé plusieurs campagnes de marketing, et vous souhaitez supprimer les doublons pour avoir une liste unique des emails utilisés.

En Cadeau: Télécharge gratuitement le fichier Excel d’exemple, prêt à l’emploi

Comment obtenir une liste unique de valeurs?

Comment obtenir une liste de valeurs uniques pour ces emails?

 

Méthode N°1: manuelle avec les fonctions natives d’Excel

Il existe un outil intégré à Excel pour retirer les doublons d’une liste. C’est parfait si vous hésitez à utiliser des formules ou du VBA.

Il vous suffit de sélectionner votre liste puis d’aller dans le menu Données > Supprimer les doublons

En Cadeau: Télécharge gratuitement le fichier Excel d’exemple, prêt à l’emploi

Supprimer les doublons pour obtenir une liste de valeurs uniques

Utilisation de la fonction « Supprimer les doublons »

Dans la fenêtre qui s’ouvre, il vous suffit de cliquer sur « Supprimer les doublons« .

Excel va tout simplement remplacer votre liste par une liste toute propre de valeurs uniques! Dans notre cas on est passé de 27 à 18 emails.

liste uniques de valeurs avec la fonction supprimer les doublons

La liste de comporte plus de doublons!

Si vous souhaitez travailler avec plusieurs listes… il vous suffit de les copier coller les unes à la suite des autres en une grosse liste, puis de supprimer les doublons sur cette liste globale avec la méthode exposée ci dessus.

Vous voulez une méthode plus sexy, qui se calcule automatiquement? C’est parti, je vous montre comment faire avec des formules.

Méthode N°2 : Avec des formules

La première méthode est facile à utiliser, mais ne se calcule pas automatiquement. C’est limitant si vous faites souvent appel à ce type d’opération. D’autre part, dans certains cas on n’a pas envie de modifier les données de départ (par exemple données exportées d’un autre logiciel, et qu’on veut garder intactes car utilisées dans plusieurs onglets).

Je vais donc vous montrer une solution pour automatiser tout ça (et sans macros s’il vous plait).

Pour calculer la liste des valeurs uniques, on a besoin d’une étape intermédiaire. Il nous faut à chaque valeur répondre à la question: Quelle est la prochaine valeur unique? Cela revient à se demander: Dans mes valeurs d’origine, quelle est la première valeur qui ne se trouve pas dans la liste des valeurs que j’ai déjà identifiées comme uniques?

En Cadeau: Télécharge gratuitement le fichier Excel d’exemple, prêt à l’emploi

Formule Matricielle NB.SI pour determiner des valeurs uniques

Déterminons la première valeur unique

La colonne D reproduit le calcul dont on a besoin en B9 : quelle est la première valeur unique qui n’est pas déjà incluses dans les valeurs B2 à B8 ? Pour cela on a besoin de générer pour chaque cellule de la colonne A, le test de savoir si c’est une nouvelle valeur unique ou pas. C’est la liste de valeurs entre D2 et D27.  La formule utilisée renvoie 1 si la valeur de la colonne A est déjà présente dans le tableau B, 0 sinon. On voit bien ici que ce qui va nous intéresser c’est de chercher le premier 0… Pour générer ce tableau, on utilise la formule:

=NB.SI($B$1:B8;$A$2:$A$27)

Seulement attention si vous voulez reproduire ce calcul intermédiaire chez vous, comme la formule renvoie un tableau de valeurs et non pas une valeur, on appelle ça une formule matricielle. Il faut donc sélectionner toute la plage ou vous voulez afficher le tableau (ici D2:D27), entrer la formule, puis la valider en appuyer sur CTRL + MAJ + ENTREE

Seul le calcul intermédiaire est matriciel, on retraite ensuite ce résultat matriciel avec une fonction INDEX pour retourner une seule valeur et retomber sur une formule classique.

Maintenant que l’on sait isoler ou est la prochaine valeur unique à afficher, il ne nous reste plus que 3 choses à faire.

  • Trouver le numéro de case du premier 0 dans la colonne D (dans notre exemple c’est 8), avec la fonction EQUIV
  • Aller chercher la 8e valeur de la colonne A grâce à la fonction INDEX
  • Mettre un joli format au cas ou la formule renvoie une erreur avec la fonction SIERREUR (on renverra alors une cellule vide)

Je ne vous fais pas mariner plus longtemps que ça, la formule est :

=SIERREUR(INDEX($A$2:$A$27;EQUIV(0;INDEX(NB.SI($B$1:B1;$A$2:$A$27);0;0);0)); » »)

En Cadeau: Télécharge gratuitement le fichier Excel d’exemple, prêt à l’emploi

Combiner plusieurs listes en une seule liste de valeurs uniques

Comment faire dans le cas ou l’on travaille avec plusieurs listes? Dans ce cas nous allons décomposer le travail en 2 étapes:

  • Chercher la prochaine valeur unique dans la liste A (nous utilisons la même formule que précédemment)
  • S’il n’y a plus de nouvelle valeur unique dans A (la formule retourne une erreur, détectée avec SIERREUR), chercher une valeur unique dans B
Combinaison de plusieurs listes en une seule liste de valeurs uniques avec des formules

Combinons 2 listes en une seule liste de valeurs uniques

La formule à utiliser est donc:

=SIERREUR(SIERREUR(INDEX($A$2:$A$13; EQUIV(0;INDEX(NB.SI($C$1:C15;$A$2:$A$13);0;0);0)); INDEX($B$2:$B$14;EQUIV(0; INDEX(NB.SI($C$1:C15;$B$2:$B$14);0;0);0))); «  »)

En Cadeau: Télécharge gratuitement le fichier Excel d’exemple, prêt à l’emploi

La formule commence  à être longue, il peut être intéressant dans ce cas de nommer vos plages afin d’améliorer la lisibilité de la formule.

About Docteur Excel
Tu souffres sur Excel ? Ça se soigne ! Un traitement de choc pour tous tes problèmes de tableur! Docteur Excel t'apprends à manipuler Excel avec une précision chirurgicale pour gagner un temps fou, éblouir ton patron et devenir un pro du tableur.