🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

Excel COUNTIF & COUNTIFS — Compter les lignes qui correspondent (et le piège des critères ">"&A1)

|

Excel COUNTIF & COUNTIFS — Compter les lignes qui correspondent (et le piège des critères ">"&A1)

L'essentielCOUNTIFS compte les lignes qui passent toutes les conditions. Syntaxe : =COUNTIFS(plage1; critère1; plage2; critère2; …). Le danger n'est pas un message d'erreur — c'est un nombre faux mais plausible. Un mauvais critère renvoie quand même un comptage, simplement pas celui que vous vouliez. Les deux règles qui l'évitent : les opérateurs vivent à l'intérieur des guillemets (">100", "<>0"), et pour comparer à une cellule vous concaténez">"&A1, jamais ">A1". Plusieurs paires sont reliées par un ET ; pour le OU, vous sommez une matrice. Et l'usage pour lequel on détourne le plus souvent la fonction — compter les valeurs distinctes — n'est pas son rôle : utilisez plutôt COUNTA(UNIQUE(…)). Fonctionne dans Excel 2007+.

=COUNTIFS(Status, "Open")
=COUNTIFS(Status, "Open", Priority, ">"&A1)

COUNTIFS est le frère compteur de SUMIFS : même moteur d'agrégation conditionnelle, mais il compte les lignes au lieu d'additionner une colonne. C'est donc le bourreau de travail du « combien de X remplissent Y » — et il est singulièrement traître, parce que lorsque vous vous trompez de critère, il ne se plaint pas. Il vous tend simplement un nombre, et les nombres ont l'air de réponses.

Remarque : dans une interface Excel en français, la fonction s'appelle NB.SI.ENS. Équivalents : COUNTIF = NB.SI, COUNTA = NBVAL, SUM = SOMME, UNIQUE = UNIQUE, FILTER = FILTRE, DATE = DATE. Les formules ci-dessous utilisent les noms anglais ; le comportement est identique.

Ce que vous allez apprendre

  • Le modèle mental : COUNTIFS compte les lignes qu'un filtre garderait
  • Pourquoi un mauvais critère est silencieux — et la règle ">"&A1 qui corrige le plus courant
  • COUNTIF vs COUNTIFS, et pourquoi le pluriel tient à l'échelle
  • Le ET est intégré ; le OU se construit avec une matrice
  • Compter entre deux dates, et compter les vides vs les non-vides
  • Pourquoi les comptages distincts réclament UNIQUE, pas COUNTIFS

Le modèle mental : compter les lignes qu'un filtre garderait

Imaginez les lignes que FILTER renverrait pour un jeu de conditions — COUNTIFS vous dit juste combien il y en a sans les montrer. Vous nommez une colonne et un test, vous empilez d'autres paires, et Excel compte les lignes où tous les tests passent. Comme pour SUMIFS, chaque plage doit avoir la même hauteur ; contrairement à SUMIFS, il n'y a pas de colonne de « valeur » — le comptage est la réponse.

' Combien de tickets ouverts ?
=COUNTIFS(Status, "Open")

' Combien d'ouverts ET prioritaires ? (les deux doivent être vrais)
=COUNTIFS(Status, "Open", Priority, "High")

Le piège qui rend COUNTIFS dangereux : des réponses fausses et silencieuses

Quand SUMIFS somme la mauvaise colonne, il produit au moins souvent un zéro ou un nombre manifestement aberrant. COUNTIFS est pire : un mauvais critère renvoie un comptage crédible. La cause la plus courante, c'est de comparer à une cellule de la mauvaise façon :

=COUNTIFS(Priority, ">"&A1)     ' ✅ "supérieur à la valeur de A1"
=COUNTIFS(Priority, ">A1")      ' ❌ compte les cellules littéralement égales au texte "A1" → 0

">A1" est une chaîne. Excel cherche les cellules dont le texte est exactement >A1, n'en trouve aucune, et renvoie 0 — ou pire, une correspondance partielle qui tombe plausiblement près. La règle est identique à SUMIFS : l'opérateur (>, <, >=, <>) reste à l'intérieur des guillemets ; la référence de cellule va à l'extérieur, reliée par &. Comme l'échec est silencieux, prenez l'habitude de tester une condition à la fois et de recouper le comptage avec un filtre visible.

Une deuxième surprise silencieuse : la correspondance de texte ne tient pas compte de la casse, donc COUNTIFS(Name, "apple") compte aussi « APPLE » et « Apple ». Si vous avez réellement besoin d'un comptage sensible à la casse, COUNTIFS ne sait pas le faire — utilisez plutôt SUMPRODUCT(--EXACT(plage, "apple")).

COUNTIF vs COUNTIFS : utilisez simplement le pluriel

COUNTIF prend une condition ; COUNTIFS en prend plusieurs, reliées par un ET. Contrairement au couple SUMIF/SUMIFS, l'ordre des arguments est le même ici — donc pas de mine cachée d'inversion silencieuse. Mais la recommandation tient quand même, pour une raison plus simple : dès que vous avez besoin d'une deuxième condition, COUNTIF ne peut pas grandir, et vous réécrivez la formule. Partez de COUNTIFS et ajouter le critère suivant n'est que deux arguments de plus. Une fonction à retenir, une qui tient à l'échelle.

Le ET est gratuit ; le OU réclame une matrice

Les paires empilées veulent dire ET. Pour compter les lignes correspondant à l'une de plusieurs valeurs dans une colonne, sommez un COUNTIF sur une matrice de ces valeurs :

' ET — Open ET High
=COUNTIFS(Status, "Open", Priority, "High")

' OU — Open OU Pending OU Blocked
=SUM(COUNTIF(Status, {"Open","Pending","Blocked"}))

La forme matricielle renvoie un comptage par valeur et SUM les totalise. C'est sûr pour une seule colonne, car une ligne ne peut contenir qu'un seul statut. Attention quand votre OU s'étale sur des colonnes différentes ou des conditions qui se chevauchent — là, additionner les comptages compte deux fois les lignes qui satisfont plus d'un terme, et vous avez intérêt à passer par FILTER et COUNTA sur le résultat.

Compter les dates, les vides et les non-vides

Une plage de dates, c'est deux tests sur la colonne de dates — et comme avec SUMIFS, construisez les bornes avec DATE() pour qu'elles ne se décalent pas d'une langue à l'autre :

=COUNTIFS(OrderDate, ">="&DATE(2026,1,1), OrderDate, "<="&DATE(2026,3,31))

Pour le vide, les critères sont courts mais faciles à confondre :

=COUNTIFS(Notes, "")        ' cellules réellement vides
=COUNTIFS(Notes, "<>")      ' cellules non vides (un contenu quelconque)

Une réserve : une cellule contenant une formule qui renvoie "" paraît vide mais ne l'est pas — COUNTIFS(…, "") et COUNTBLANK ne seront pas d'accord à son sujet. Si vos cellules « vides » sont des résultats de formule, comptez-les plutôt avec le complément "<>".

Le détournement à désapprendre : les comptages distincts

Le faux-pas le plus courant avec COUNTIFS, c'est « compter combien de clients différents nous avons ». COUNTIFS compte des lignes, pas des valeurs distinctes — il n'a aucune idée de ce que « unique » veut dire. La réponse moderne tient en une courte formule :

=COUNTA(UNIQUE(Customer))                       ' combien de clients distincts
=COUNTA(UNIQUE(FILTER(Customer, Region="West"))) ' clients distincts dans l'Ouest

UNIQUE réduit la liste aux valeurs distinctes et COUNTA les compte — filtrées d'abord, au besoin. Si vous vous surprenez à construire une colonne intermédiaire de fractions 1/COUNTIF(…) pour simuler un comptage distinct (le grand classique d'avant 365), c'est le signal pour passer à COUNTA(UNIQUE()).

Comment ExcelMaster aide

« Combien de factures en retard au-dessus de la limite en A1, ce trimestre ? », ce sont trois critères et une plage de dates — et la partie qui mord, c'est ">"&A1 contre ">A1". ExcelMaster écrit le COUNTIFS à partir de votre question en langage courant avec la concaténation et les bornes DATE() correctes, et si vous cherchez en réalité un comptage distinct, il recourt plutôt à COUNTA(UNIQUE()) — attrapant le détournement avant qu'il ne devienne un nombre faux dans un rapport.

Questions fréquentes

Pourquoi COUNTIFS renvoie-t-il 0 quand je référence une cellule ?

Vous avez presque certainement écrit ">A1" au lieu de ">"&A1. Avec la référence de cellule à l'intérieur des guillemets, Excel cherche le texte littéral « A1 » et ne trouve rien. Mettez l'opérateur entre guillemets et concaténez la cellule : =COUNTIFS(plage, ">"&A1).

Quelle est la différence entre COUNTIF et COUNTIFS ?

COUNTIF prend une seule condition ; COUNTIFS en prend une ou plusieurs, combinées par un ET. L'ordre des arguments est le même dans les deux, donc l'habitude sûre est de toujours utiliser COUNTIFS — il tient à l'échelle dès que vous avez besoin d'un deuxième test.

Comment compter avec un OU / plusieurs valeurs dans une colonne ?

Sommez un COUNTIF sur une matrice des valeurs : =SUM(COUNTIF(Status, {"Open","Pending"})). Cela compte les lignes correspondant à l'une d'elles sans double comptage, car une ligne ne contient qu'un seul statut.

Comment compter les valeurs entre deux dates ?

Deux critères sur la colonne de dates, construits avec DATE() : =COUNTIFS(OrderDate, ">="&DATE(2026,1,1), OrderDate, "<="&DATE(2026,3,31)).

Comment compter les valeurs uniques (distinctes) ?

Pas avec COUNTIFS — il compte des lignes. Utilisez =COUNTA(UNIQUE(plage)), et filtrez d'abord s'il vous faut les valeurs distinctes d'un sous-ensemble : =COUNTA(UNIQUE(FILTER(Customer, Region="West"))).

Testé dans

Testé dans : Excel 365 (Windows 11) — dernière vérification le 24/06/2026.

Guides connexes : Excel SUMIFS · Excel AVERAGEIFS · Excel UNIQUE · Excel FILTER