Comment extraire une liste de valeurs uniques par formule

(Last Updated On: 20 janvier 2018)

Voici une formule fort utile pour extraire une liste de valeurs uniques dans une colonne de données.

Sur le même thème, vous pourriez également être intéressé par l’article Comment compter le nombre de valeurs uniques dans un tableau.

Formule

{=INDEX(liste de valeurs ; EQUIV(0 ; NB.SI(liste unique ; liste de valeurs) ; 0))}

Voici comment utiliser la formule :

Pour extraire les valeurs uniques d’une liste ou d’une colonne, vous pouvez utiliser une formule matricielle basée sur INDEX, EQUIV et NB.SI.

  1. Entrez la formule ci-dessous en D5 :
  2. Validez en utilisant Ctrl + Shift + Entrée car c’est une formule matricielle
  3. Tirez la formule vers le bas
{=INDEX(ListeClients[Clients];EQUIV(0;NB.SI($D$4:D4;ListeClients[Clients]);0))}

où ListeClients[Clients] est la liste des valeurs B5:B15

On obtient ainsi une liste de valeurs uniques à partir des données de la colonne B.

Quelques explications

La formule NB.SI($D4$:D4; liste principale) compte combien de fois les éléments déjà dans la liste unique apparaissent dans la liste principale.

La syntaxe générale est : NB.SI(plage valeurs; critère).

Par ailleurs, en entrant comme critère de NB.SI une liste de valeurs, la formule NB.SI va considérer chaque élément de la liste de valeurs comme un critère, et retourner une liste des résultats du comptage selon chaque critère.

Par exemple, NB.SI( {« choux » ; « carotte » ; « poireau »} ; {« choux »; »choux »; »courgette »} ) retournera une liste de résultats de type {nb choux dans la liste ; nb choux dans la liste ; nb courgettes dans la liste}, soit {1;1;0} ici car dans la plage entrée, il y a un choux mais pas de courgette.

Note : En étendant la formule vers le bas, la liste unique s’étend, par exemple en D6 on aura la liste unique suivante : $D$4:D5.

Voici en détail l’évaluation de la formule en D6 :

La formule NB.SI compte combien de fois chaque élément de la liste principale apparaît dans la liste unique. Ici le client « APS » apparaît 1 fois dans la liste unique, puis tous les autres clients de la liste principale apparaissent 0 fois dans la liste unique D4:D5 :

Ensuite, la formule EQUIV (0 ; liste des occurences) cherche la position du premier 0 apparaissant dans la liste d’occurences, soit dès qu’un élément de la liste principale n’est pas dans la liste unique, on repère sa position à l’aide de EQUIV. La position du premier 0 ici est 2, cela signifie que la prochaine valeur unique de la liste principale se situe en position 2 :

Enfin, avec INDEX(liste principale ; position), on retourne la valeur de liste pour la position donnée. Ici en position 2, on a Rino, qui est bien la prochaine valeur unique après APS dans la liste principale.

Démonstration en image

TELECHARGER LE FICHIER D’EXEMPLE

Télécharger le classeur Excel pour ce tutoriel. Seuls votre adresse e-mail et nom vous seront demandés dans la prochaine étape. Vous recevrez le lien de téléchargement par e-mail.

 

Un commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *