Apprendre Excel
FR
Définit l'affichage des nombres, des dates et des formules, pour que tout fonctionne comme dans votre Excel.

Accueil › Bases d'Excel › Compter les valeurs uniques

Comment compter les valeurs uniques dans Excel

Pour compter les valeurs uniques dans Excel 365, utilisez =NBVAL(UNIQUE(A2:A8)). Dans les anciennes versions, =SOMMEPROD(1/NB.SI(A2:A8; A2:A8)) fait le même travail. Voici les deux, ainsi que comment compter avec une condition et la différence entre valeurs « distinctes » et « uniques ».

Dans ce guide
  1. Distinctes ou uniques ?
  2. Excel 365 : NBVAL + UNIQUE
  3. Anciennes versions : SOMMEPROD
  4. Avec une condition
  5. Avec un tableau croisé
  6. Les lister plutôt
  7. Questions fréquentes
AB
1ClientRégion
2AnneNord
3BrunoSud
4AnneSud
5CharlesNord
6BrunoSud
7AnneNord
8DianeEst

Sept commandes, mais combien de clients différents ? Anne, Bruno, Charles et Diane : 4.

Distinctes ou uniques : de quoi avez-vous besoin ?

QuestionRéponse iciNom
Combien de noms différents ?4 (Anne, Bruno, Charles, Diane)Valeurs distinctes
Combien de noms n'apparaissent qu'une fois ?2 (Charles, Diane)Valeurs uniques

Presque tout le monde pense au premier cas quand il dit « compter les valeurs uniques ». Les deux cas sont traités ci-dessous.

Excel 365 : NBVAL et UNIQUE

=NBVAL(UNIQUE(A2:A8))

UNIQUE renvoie la liste des noms distincts et NBVAL les compte : 4. Pour les noms qui apparaissent exactement une fois, mettez le troisième argument d'UNIQUE à VRAI :

=LIGNES(UNIQUE(A2:A8; ; VRAI))

Résultat : 2. Si la plage peut contenir des cellules vides, filtrez-les d'abord ; sinon, la cellule vide compte comme une valeur :

=NBVAL(UNIQUE(FILTRE(A2:A100; A2:A100<>"")))

Anciennes versions : SOMMEPROD et NB.SI

=SOMMEPROD(1 / NB.SI(A2:A8; A2:A8))

Comment ça marche : NB.SI compte combien de fois chaque nom apparaît. Anne obtient 3 sur chacune de ses trois lignes : chacune de ces lignes ajoute donc 1/3, soit exactement 1 au total. Chaque nom ajoute 1, et le total est le nombre de noms distincts : 4.

Les cellules vides provoquent #DIV/0!. Cette version les ignore :

=SOMMEPROD((A2:A100<>"") / NB.SI(A2:A100; A2:A100 & ""))

Pour compter les noms qui n'apparaissent qu'une fois :

=SOMMEPROD(--(NB.SI(A2:A8; A2:A8) = 1))

Grandes listes : la méthode avec NB.SI compare chaque ligne à toutes les autres. Avec des dizaines de milliers de lignes, elle devient lente ; utilisez UNIQUE ou un tableau croisé dynamique.

Compter les valeurs uniques avec une condition

Combien de clients différents ont commandé dans le Sud ? Dans Excel 365 :

=NBVAL(UNIQUE(FILTRE(A2:A8; B2:B8="Sud")))

Dans le Sud, on trouve Bruno, Anne et Bruno : la réponse est 2. Si aucune ligne ne correspond, FILTRE renvoie #CALC! ; entourez-la ainsi : SIERREUR(…; 0)

Avec un tableau croisé dynamique (sans formule)

  1. Sélectionnez les données et choisissez Insertion › Tableau croisé dynamique.
  2. Cochez Ajouter ces données au modèle de données et cliquez sur OK.
  3. Faites glisser Région dans Lignes et Client dans Valeurs.
  4. Cliquez sur le champ Client dans Valeurs, choisissez Paramètres des champs de valeurs et sélectionnez Total distinct.

Vous voyez maintenant le nombre de clients différents par région. Sans cocher le modèle de données, Total distinct n'apparaît pas dans la liste. Plus de détails dans le guide des tableaux croisés dynamiques.

Afficher la liste des valeurs uniques

Vous voulez les noms et non le compte ? =UNIQUE(A2:A8) ou =TRIER(UNIQUE(A2:A8)) vous donne la liste. Dans les anciennes versions, copiez la colonne et utilisez Supprimer les doublons.

Questions fréquentes

Le comptage des valeurs uniques distingue-t-il les majuscules ?

Non. UNIQUE et NB.SI traitent « anne » et « Anne » comme la même valeur.

Pourquoi mon comptage de valeurs uniques en compte-t-il une de trop ?

Probablement à cause de cellules vides ou de noms avec des espaces en trop (« Anne » suivi d'un espace et « Anne »). Filtrez les cellules vides et nettoyez d'abord la liste avec SUPPRESPACE.

Comment compter seulement les nombres uniques ?

Dans Excel 365 : =NB(UNIQUE(A2:A100)). NB ignore le texte : seuls les nombres distincts sont comptés.

Peut-on compter les valeurs uniques sur deux colonnes ?

Oui : =LIGNES(UNIQUE(A2:B8)) compte les combinaisons distinctes des deux colonnes, comme Anne + Nord et Anne + Sud.