Menu

NB.SI Excel : compter selon une condition (COUNTIF)

=NB.SI(B2:B7;"North") compte les cellules de B2:B7 qui contiennent North. Compter du texte, des nombres, des caractères génériques, des cellules vides et des dates, et repérer les doublons, sur des tableaux modifiables.

Chaque feuille de cette page est interactive : modifiez un nombre ou une formule et elle se recalcule.

=NB.SI(B2:B7;"North") compte les cellules de B2:B7 qui contiennent North. NB.SI (COUNTIF en anglais, et souvent tapé "nb si") prend deux arguments : la plage à examiner et la condition qu'une cellule doit remplir pour être comptée. Le tableau affiche les formules sous leur forme anglaise, avec des virgules, mais vous pouvez aussi les taper comme dans un Excel français, avec des points-virgules : =NB.SI(B2:B7;"North").

Compter une région
F2
ABCDEF
1RepRegionSalesRegionCount
2AnaNorth120North3
3BenSouth45South2
4CaraNorth80
5DanEast55
6EvaSouth200
7FinnNorth30
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =NB.SI(B2:B7;"North")

F2 compte les lignes North. F3 fait la même chose avec la condition placée dans une cellule : remplacez E3 par East, ou changez une des régions de la colonne B, et le compte suit. Une référence de cellule permet de construire un tableau de synthèse : un NB.SI par ligne, chacun pointant vers sa propre étiquette.

Syntaxe de NB.SI

=COUNTIF(range, criteria)
  • range (plage) correspond aux cellules à vérifier. Ce doit être une plage d'une feuille, comme B2:B7 ou B:B.
  • criteria (critère) est la condition, écrite comme un texte entre guillemets, un nombre ou une référence de cellule. Chaque forme ci-dessous est un critère :
CritèreCompte les cellules
"North"égales à North (casse ignorée)
">50"supérieures à 50
"<>North"tout sauf North, cellules vides comprises
55égales au nombre 55
">"&F6supérieures à la valeur de F6
"*apple*"contenant le texte apple
""vides
"<>"non vides

NB.SI supérieur, inférieur ou égal à

Placez l'opérateur de comparaison entre les guillemets avec le nombre : ">50", "<=50", "<>55". Un nombre seul, sans opérateur, signifie "égal à".

Compter selon un nombre
F2
ABCDEF
1RepRegionSalesConditionCount
2AnaNorth120Over 504
3BenSouth4550 or less2
4CaraNorth80Exactly 551
5DanEast55Not 555
6EvaSouth200Limit100
7FinnNorth30Over the limit2
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =NB.SI(C2:C7;">50")

Quatre des six ventes dépassent 50 et deux valent 50 ou moins, donc F2 et F3 totalisent toujours le nombre de lignes. F7 lit sa limite en F6 : mettez 50 en F6 et F7 affiche le même compte que F2.

NB.SI avec une référence de cellule

Quand la valeur de comparaison se trouve dans une cellule, l'opérateur reste entre guillemets et la cellule y est reliée avec & : ">"&F6, "<="&F6, "<>"&E3. Une erreur fréquente avec NB.SI consiste à écrire ">F6". Entre guillemets, F6 n'est que deux caractères de texte : Excel compare chaque nombre au texte "F6" et le compte vaut presque toujours 0.

Pour "égal à une cellule", aucun opérateur n'est nécessaire : tant que E3 contient une valeur, =NB.SI(B2:B7;E3) équivaut à =NB.SI(B2:B7;"="&E3).

NB.SI contient un texte : les caractères génériques

Deux caractères génériques fonctionnent dans un critère NB.SI. * remplace un nombre quelconque de caractères, ? exactement un. "*apple*" correspond à toute cellule contenant apple n'importe où, "P*" à toute cellule qui commence par P, "????" à tout texte d'exactement quatre caractères.

Compter du texte avec des caractères génériques
D2
ABCD
1ProductConditionCount
2Applecontains apple4
3Pineapplestarts with P3
4Pear4 letters2
5apple juiceequal to APPLE1
6not Pear6
7Plumempty1
8Green applenot empty6
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =NB.SI(A2:A8;"*apple*")

Lisez D2 et D5 ensemble. "*apple*" trouve 4 cellules, mais "APPLE" sans caractère générique n'en trouve qu'une, celle qui contient exactement Apple. Sans caractère générique, toute la cellule doit correspondre, et la comparaison ignore la casse : "APPLE", "Apple" et "apple" comptent la même cellule.

D6 montre un piège : "<>Pear" compte 6 cellules, car la cellule vide A6 est elle aussi "différente de Pear". Pour ne compter que les cellules remplies autres que Pear, utilisez NB.SI.ENS (COUNTIFS en anglais) avec deux conditions : =NB.SI.ENS(A2:A8;"<>Pear";A2:A8;"<>").

Pour utiliser le texte d'une cellule, reliez-lui les caractères génériques : =NB.SI(A2:A8;"*"&E2&"*"). Pour compter un vrai astérisque ou point d'interrogation, faites-le précéder d'un tilde : "~*". D'autres modèles figurent sur la page des caractères génériques, et le comptage de toutes les cellules contenant du texte sur compter les cellules contenant du texte.

NB.SI cellule vide et non vide

D7 et D8 dans le tableau ci-dessus comptent les cellules vides et remplies. "" signifie vide et "<>" non vide. Une formule qui renvoie une chaîne vide (=SI(B2>0;B2;"")) paraît vide et "" la compte comme vide, mais "<>" la compte aussi comme remplie, car la cellule contient une formule. NB.SI non vide présente les façons de contourner ce problème.

NB.SI avec des dates

Les dates sont des nombres dans Excel, donc les opérateurs de comparaison fonctionnent. Construisez la date avec DATE, ou prenez-la dans une cellule, et reliez-la à l'opérateur avec &. Ne tapez jamais une date entre guillemets dans votre format régional : ">3/1/2026" signifie le 1er mars aux États-Unis et le 3 janvier dans la plupart des pays d'Europe.

Compter selon une date
E2
ABCDE
1RepDateConditionCount
2Ana2026-01-05From Feb 14
3Ben2026-01-12Cutoff2026-03-01
4Cara2026-02-03Before the cutoff4
5Dan2026-02-18On Jan 121
6Eva2026-03-02
7Finn2026-03-20
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =NB.SI(B2:B7;">="&DATE(2026;2;1))

E2 compte les quatre dates à partir du 1er février. E4 compte les dates antérieures à la date limite de E3 : mettez 2026-02-01 en E3 et le compte tombe à 2. Compter entre deux dates demande deux conditions, donc NB.SI.ENS : =NB.SI.ENS(B2:B7;">="&DATE(2026;2;1);B2:B7;"<"&DATE(2026;3;1)).

Compter les doublons avec NB.SI

NB.SI de toute la liste contre l'une de ses propres cellules indique combien de fois cette valeur apparaît. Tout ce qui dépasse 1 est un doublon. Verrouillez la liste avec $ pour qu'elle reste en place quand la formule est recopiée vers le bas.

Signaler les noms en double
B2
ABC
1NameTimesDuplicate?
2Ana2TRUE
3Ben2TRUE
4Cara1FALSE
5Ana2TRUE
6Dan1FALSE
7Ben2TRUE
8Eva1FALSE
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =NB.SI($A$2:$A$8;A2)

Ana et Ben apparaissent deux fois, donc leurs lignes affichent 2 et TRUE, et la règle de mise en forme conditionnelle =NB.SI($A$2:$A$8;A2)>1 appliquée à A2:A8 les met en évidence. Remplacez le dernier nom par Cara et Cara s'allume aussi.

=NB.SI($A$2:A2;A2)>1 (seul le début de la plage est verrouillé) compte chaque nom depuis le haut jusqu'à sa propre ligne, et marque donc la deuxième Ana mais pas la première. Cette version signale les copies à supprimer et garde la première occurrence de chaque nom. La méthode complète se trouve sur supprimer les doublons.

Exercice : NB.SI avec une cellule

À vous : compter les grosses commandes
E3
ABCDE
1OrderAmountSettingValue
2A-101120Limit100
3A-10245Orders over limit
4A-103310
5A-104100
6A-10585
7A-106140
8A-10799
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.

À vous : Comptez les commandes de B2:B8 supérieures à la limite indiquée en E2. Écrivez la formule en E3.

Modifiez E2 une fois l'exercice réussi : le compte doit suivre. Une commande d'exactement 100 n'est pas "supérieure à" 100.

À vous : compter un mot n'importe où
D3
ABCD
1ProductSettingValue
2AppleWordapple
3Pear juiceMatches
4Pineapple
5Banana
6Green apple
7Pear
8Apple cider
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.

À vous : Comptez les produits de A2:A8 dont le nom contient, n'importe où, le mot indiqué en D2. Écrivez la formule en D3.

NB.SI avec plusieurs critères

NB.SI prend une seule condition. Pour deux conditions ou plus, il y a deux cas.

Toutes les conditions doivent être vraies (North et plus de 50) : utilisez NB.SI.ENS, qui prend des paires plage et critère.

=COUNTIFS(B2:B7,"North",C2:C7,">50")

L'une ou l'autre condition peut être vraie (North ou South) : additionnez deux NB.SI, ou donnez à un seul NB.SI une liste entre accolades et faites la SOMME (SUM en anglais) des résultats.

=COUNTIF(B2:B7,"North")+COUNTIF(B2:B7,"South")
=SUM(COUNTIF(B2:B7,{"North","South"}))

Dans un Excel français, la première ligne s'écrit =NB.SI(B2:B7;"North")+NB.SI(B2:B7;"South") ; la seconde est donnée ici sous sa forme anglaise, car le séparateur d'une liste entre accolades dépend des paramètres régionaux.

N'utilisez pas la version OU sur une cellule qui pourrait remplir les deux conditions ("*apple*" ou "*green*") : Green apple serait compté deux fois. Pour des conditions qui se recoupent, =SOMMEPROD(--((ESTNUM(CHERCHE("apple";A2:A8))+ESTNUM(CHERCHE("green";A2:A8)))>0)) compte chaque cellule une seule fois.

Compter en respectant la casse

NB.SI ne distingue jamais Apple de apple. Quand la casse compte, comparez avec EXACT, qui est sensible à la casse, et additionnez les résultats VRAI :

=SUMPRODUCT(--EXACT(A2:A8,"Apple"))

Le -- transforme VRAI et FAUX en 1 et 0. SOMMEPROD (SUMPRODUCT en anglais) est l'outil général pour les conditions que NB.SI ne sait pas exprimer.

Pourquoi NB.SI renvoie 0 ou un mauvais compte

  • L'opérateur et la cellule sont tous deux entre les guillemets. ">F6" compare au texte F6. Écrivez ">"&F6.
  • Des espaces en trop dans les données. "North " avec une espace finale n'est pas égal à "North". Comptez avec "North*" pour vérifier, puis nettoyez la colonne avec SUPPRESPACE (TRIM).
  • Des nombres stockés sous forme de texte. Un critère comme ">50" ne compare que de vrais nombres, donc les nombres saisis comme du texte (alignés à gauche, souvent avec un triangle vert) sont ignorés. Convertissez-les d'abord ; voir nombres stockés sous forme de texte.
  • La plage pointe vers un autre classeur fermé. NB.SI renvoie #VALEUR! (en anglais #VALUE!) tant que ce classeur n'est pas ouvert. SOMMEPROD n'a pas cette limite.
  • Un texte de plus de 255 caractères. NB.SI ne peut pas comparer des chaînes de plus de 255 caractères. Comparez directement : =SOMMEPROD(--(A2:A8=E2)).

Questions fréquentes

Comment utiliser NB.SI dans Excel ?

Donnez-lui une plage et une condition : =NB.SI(B2:B7;"North") compte les cellules de B2:B7 égales à North, et =NB.SI(C2:C7;">50") compte les nombres supérieurs à 50. Le texte et les comparaisons se mettent entre guillemets.

Comment utiliser NB.SI avec une référence de cellule ?

Reliez l'opérateur et la cellule avec & : =NB.SI(C2:C7;">"&F6) compte les valeurs supérieures au nombre de F6. Écrire ">F6" entre les guillemets compare au texte F6 et renvoie en général 0.

NB.SI est-elle sensible à la casse ?

Non. "apple", "Apple" et "APPLE" comptent les mêmes cellules. Pour un comptage sensible à la casse, utilisez =SOMMEPROD(--EXACT(A2:A8;"Apple")).

Comment utiliser NB.SI avec plusieurs critères ?

Pour des conditions qui doivent toutes être vraies, utilisez NB.SI.ENS : =NB.SI.ENS(B2:B7;"North";C2:C7;">50"). Pour l'une ou l'autre de deux valeurs, additionnez deux NB.SI : =NB.SI(B2:B7;"North")+NB.SI(B2:B7;"South").

Illustration des langages de programmation de Coddy

Apprendre à coder avec Coddy

COMMENCER