Qu'est-ce que la fonction COUNTUNIQUEIFS ?
COUNTUNIQUEIFS te sert quand un simple comptage de lignes te donnerait un chiffre gonflé, parce qu'un même client ou produit revient sur plusieurs lignes filtrées et que tu veux le compter une seule fois. Elle t'évite de dédoublonner à la main avant d'appliquer tes critères.
Attention : COUNTUNIQUEIFS est une fonction exclusive à Google Sheets. Si tu travailles dans Excel, tu devras la remplacer par une combinaison NBVAL + UNIQUE + FILTRE (disponible depuis Excel 365).
Syntaxe
=COUNTUNIQUEIFS(plage_comptage; plage_critères1; critère1; [plage_critères2]; [critère2]; ...)Clique sur un argument pour aller à son explication.
COUNTUNIQUEIFS n'existe pas dans Excel. Dans Excel 365, utilise =NBVAL(UNIQUE(FILTRE(A:A;(B:B="critère1")*(C:C="critère2")))) pour obtenir un résultat équivalent.

Comprendre chaque paramètre de la fonction COUNTUNIQUEIFS
Les arguments vont par paires : d'abord la plage où compter les valeurs uniques, puis une plage de critère suivie de son critère. Tu peux empiler autant de paires plage/critère que tu veux, mais seule la première est obligatoire ; les suivantes affinent le filtre.
Garde en tête que toutes ces paires se combinent en ET : une valeur ne compte que si sa ligne satisfait l'ensemble des conditions en même temps.
plage_comptage
: la plage dans laquelle tu veux compter les valeurs uniquesPar exemple, une colonne de noms de clients ou de références produit. Seules les valeurs uniques dont les lignes correspondantes passent tous les critères sont comptées.
La plage peut être différente des plages de critères : tu peux compter les clients uniques (colonne A) pour les commandes de Paris (colonne B), par exemple.
plage_critères1
: la première plage sur laquelle appliquer un critèreElle doit avoir exactement la même taille que la plage de comptage. Si les tailles diffèrent, Google Sheets renvoie une erreur.
critère1
: la condition à appliquer sur `plage_critères1`Tu peux utiliser :
- Un texte exact : "Paris" (insensible à la casse)
- Un nombre : 100
- Un opérateur : ">1000", "<>Paris"
- Un caractère générique : "*Pro*" (contient « Pro »), "Pro?" (Pro + 1 caractère)
- Une référence de cellule : F1
plage_critères2, critère2, ...
: paires supplémentaires plage/critère pour affiner ton filtre(facultatif)Tous les critères sont combinés avec un ET logique : une valeur n'est comptée que si elle passe l'ensemble des filtres simultanément.
Si tu as besoin d'un OU (compter les valeurs qui correspondent à au moins l'un des critères), tu dois sommer plusieurs appels à COUNTUNIQUEIFS, en veillant aux doublons éventuels.

Exemples pratiques pas à pas
Comment compter le nombre de clients distincts avec la fonction COUNTUNIQUEIFS
Tu prépares la revue de portefeuille et on te demande combien de clients tu as vraiment sur Paris. Le problème, c'est que ton tableau liste des commandes et non des clients : un même client y revient autant de fois qu'il a acheté, donc compter les lignes te donnerait un chiffre gonflé et faux. La fonction COUNTUNIQUEIFS filtre sur la région et ne retient chaque client qu'une fois.
- 1Dans une cellule, écris
=COUNTUNIQUEIFS(. - 2En 1er argument : sélectionne la colonne des clients à dédoublonner,
A2:A7. C'est ici que les répétitions seront écrasées, et la sélection s'arrête à la ligne 7 parce que le tableau compte six lignes de données sous ses en-têtes. - 3En 2ᵉ argument : sélectionne la colonne des régions,
B2:B7. C'est sur elle que porte le filtre, et elle doit couvrir exactement les mêmes lignes que la colonne des clients pour que Google Sheets sache quelle région appartient à quel client. - 4En 3ᵉ argument : saisis la région à retenir,
"Paris". Les guillemets sont obligatoires autour d'un critère texte. La comparaison ne tient pas compte de la casse, si bien que"paris"retiendrait les cinq mêmes lignes. - 5Ferme la parenthèse et appuie sur Entrée.
=COUNTUNIQUEIFS(A2:A7; B2:B7; "Paris")5. Restent Entreprise A, Entreprise C et Entreprise D, soit 3 clients réellement distincts sur la région.Comment croiser deux critères avec la fonction COUNTUNIQUEIFS
Ta question se précise : ce ne sont plus tous les clients parisiens qui comptent, mais ceux qui passent des commandes significatives, au-dessus de 1 000 €. Il faut donc que deux conditions soient vraies sur la même ligne, sans pour autant compter deux fois un client qui aurait plusieurs grosses commandes. La fonction COUNTUNIQUEIFS empile autant de paires plage et critère que nécessaire.
- 1Dans une cellule, écris
=COUNTUNIQUEIFS(. - 2En 1er argument : sélectionne la colonne des clients à dédoublonner,
A2:A7. C'est toujours elle qu'on compte. La paire de critères ajoutée plus loin ne fait que réduire les lignes retenues. - 3En 2ᵉ argument : sélectionne la colonne des régions,
B2:B7. Elle porte la première des deux conditions. - 4En 3ᵉ argument : saisis la région à retenir,
"Paris". Cinq des six lignes du tableau y répondent, seule la commande de Lyon est écartée. - 5En 4ᵉ argument : sélectionne la colonne des montants,
D2:D7. Une seconde paire de conditions commence ici, et cette colonne couvre les mêmes lignes que les deux précédentes pour que les critères se lisent ligne par ligne. - 6En 5ᵉ argument : saisis le seuil que la commande doit dépasser,
">1000". L'opérateur de comparaison et la valeur s'écrivent ensemble, entre guillemets et sans espace. Le seuil est exclusif, donc une commande à exactement1 000 €resterait dehors. - 7Ferme la parenthèse et appuie sur Entrée.
=COUNTUNIQUEIFS(A2:A7; B2:B7; "Paris"; D2:D7; ">1000")1 000 € sur cette même ligne. Entreprise A entre grâce à sa commande à 1 500 €, Entreprise C grâce à celle à 1 200 €, mais Entreprise D plafonne à 900 € et sort du décompte. Le compte tombe donc de 3 à 2.Comment filtrer sur une correspondance partielle avec la fonction COUNTUNIQUEIFS
Ta gamme « Pro » se décline sous plusieurs noms qui bougent au fil des lancements, et tu veux savoir combien d'offres de cette gamme se vendent réellement à Paris. Les lister une par une dans la formule te condamnerait à la réécrire à chaque nouveauté. En filtrant sur une correspondance partielle, tu attrapes toute la gamme d'un coup, quels que soient les noms exacts.
- 1Dans une cellule, écris
=COUNTUNIQUEIFS(. - 2En 1er argument : sélectionne la colonne des offres à dédoublonner,
C2:C7. Ce sont les offres distinctes que tu cherches cette fois, et non les clients. - 3En 2ᵉ argument : sélectionne la colonne des régions,
B2:B7. C'est sur elle que porte la condition géographique. - 4En 3ᵉ argument : saisis la région à retenir,
"Paris". La seule commande de Lyon quitte le décompte, et il reste les cinq lignes parisiennes. - 5En 4ᵉ argument : sélectionne à nouveau la colonne des offres,
C2:C7. La même sélection tient donc les deux rôles, et elle s'écrit exactement de la même façon des deux côtés. - 6En 5ᵉ argument : saisis le motif que le nom de l'offre doit contenir,
"*Pro*". Un astérisque de chaque côté autorise le motProà se trouver n'importe où dans le nom. Écrit"Pro*", le critère ne retiendrait que les noms commençant parPro, et aucune offre du tableau n'est dans ce cas. - 7Ferme la parenthèse et appuie sur Entrée.
=COUNTUNIQUEIFS(C2:C7; B2:B7; "Paris"; C2:C7; "*Pro*")"*Pro*" remplace n'importe quelle suite de caractères, donc le critère retient toute offre dont le nom contient Pro : sur Paris, Excel Pro et Sheets Pro répondent présent, Word Basic non.
Les erreurs fréquentes avec la fonction COUNTUNIQUEIFS
Le souci le plus fréquent vient d'Excel : si tu tapes cette formule là-bas, tu récoltes un #NOM? parce que COUNTUNIQUEIFS n'existe que dans Google Sheets. Les deux autres pièges sont des plages de tailles différentes (qui déclenchent une #N/A) et un résultat 0 alors que chaque critère semble correct.
Ce 0 trompeur, c'est presque toujours le ET logique qui frappe : aucune ligne ne coche toutes les conditions à la fois, même si chacune prise isolément renvoie des résultats.
Erreur #N/A : plages de tailles différentes
La plage de comptage et toutes les plages de critères doivent avoir exactement le même nombre de lignes. Si ce n'est pas le cas, Google Sheets renvoie une erreur.
Solution : Vérifie que toutes tes plages commencent et se terminent aux mêmes lignes. Exemple correct : =COUNTUNIQUEIFS(A2:A100; B2:B100; "Paris"; C2:C100; "Actif"). Si tu utilises des colonnes entières (A:A), fais-le pour toutes les plages de la formule.
Erreur #NOM? dans Excel
COUNTUNIQUEIFS n'existe pas dans Excel, c'est une fonction exclusive à Google Sheets. Excel ne reconnaît pas ce nom de fonction.
Solution : Dans Excel 365, utilise =NBVAL(UNIQUE(FILTRE(A:A;(B:B="Paris")*(C:C="Actif")))). Dans les versions antérieures, une combinaison SOMMEPROD avec des tests d'égalité peut approximer le résultat, mais c'est plus complexe à écrire.
Résultat 0 inattendu
Tous les critères sont combinés avec un ET logique. Si aucune ligne ne satisfait l'ensemble des critères simultanément, le résultat est 0, même si chaque critère pris séparément correspond à plusieurs lignes.
Solution : Teste d'abord avec COUNTIFS pour vérifier combien de lignes correspondent à l'ensemble de tes critères. Si COUNTIFS renvoie 0, COUNTUNIQUEIFS renverra aussi 0. Vérifie également la casse et les espaces dans tes données.
Questions fréquentes
COUNTUNIQUE compte toutes les valeurs uniques dans une plage, sans aucun filtre. COUNTUNIQUEIFS ne compte que les valeurs uniques qui répondent à un ou plusieurs critères. C'est comme comparer NB.SI (avec filtre) à NB.VAL (sans filtre) : COUNTUNIQUE = NB.VAL version dédoublonnée, COUNTUNIQUEIFS = NB.SI version dédoublonnée.
Non, COUNTUNIQUEIFS est une fonction exclusive à Google Sheets. Dans Excel, tu dois utiliser des formules alternatives.
Dans Excel 365, combine NBVAL + UNIQUE + FILTRE : =NBVAL(UNIQUE(FILTRE(A:A;(B:B="Paris")*(C:C="Actif")))). Dans les versions plus anciennes, une formule SOMMEPROD matricielle peut approcher le résultat, mais elle est plus complexe à écrire.
Utilise COUNTUNIQUEIFS avec des paires plage/critère supplémentaires : =COUNTUNIQUEIFS(plage_à_compter; plage_critère1; critère1; plage_critère2; critère2). Seules les valeurs uniques dont les lignes satisfont l'ensemble des critères sont comptées.
Tous les critères sont combinés avec un ET logique : une valeur n'est comptée que si elle passe tous les filtres en même temps.
Non, les cellules vides ne sont jamais comptées comme valeurs uniques. Seules les cellules contenant des données (texte, nombres, dates) sont prises en compte dans le comptage.
Si tu veux compter les lignes avec une cellule vide dans la plage de comptage, utilise "" comme critère dans une plage séparée, mais COUNTUNIQUEIFS elle-même ignorera les vides dans plage_comptage.
Oui. Le * remplace plusieurs caractères et le ? remplace un seul caractère dans les critères texte. Par exemple : =COUNTUNIQUEIFS(A:A; B:B; "Paris"; A:A; "*Pro*") compte les valeurs uniques contenant « Pro » dans la plage A pour les lignes où B = « Paris ».
Ces caractères génériques fonctionnent uniquement sur les critères texte, pas sur les critères numériques.
Pour aller plus loin
Continue sur ta lancée après la fonction COUNTUNIQUEIFS : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir



