Menu

NB.SI.ENS Excel : compter avec plusieurs critères (COUNTIFS)

=NB.SI.ENS(A2:A7;"North";C2:C7;">50") compte les lignes où la région est North et les ventes dépassent 50. Compter entre deux nombres ou deux dates, avec une logique OU et avec des cellules vides, sur des tableaux modifiables.

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

=NB.SI.ENS(A2:A7;"North";C2:C7;">50") compte les lignes où la colonne A vaut North et la colonne C dépasse 50. NB.SI.ENS (COUNTIFS en anglais) prend des paires plage et condition, et une ligne n'est comptée que si toutes les conditions sont vraies. 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.ENS(A2:A7;"North";C2:C7;">50").

Commandes North supérieures à 50
F2
ABCDEF
1RegionProductSalesConditionCount
2NorthApple120North, over 502
3SouthPear45North Apple2
4NorthPear80North only3
5EastApple55
6SouthApple200
7NorthApple30
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.ENS(A2:A7;"North";C2:C7;">50")

Il y a trois lignes North, dont deux dépassent 50, donc F2 affiche 2. Mettez 90 en C7 et la dernière ligne North entre dans le compte. F3 associe deux conditions texte : North et Apple.

Syntaxe de NB.SI.ENS

=COUNTIFS(criteria_range1, criteria1, [criteria_range2, criteria2], ...)
  • Chaque condition est une paire : une plage et un critère. Jusqu'à 127 paires sont autorisées.
  • Les critères fonctionnent exactement comme ceux de NB.SI : "North", ">50", "<>", "*apple*", ou une cellule reliée à un opérateur avec &, comme ">"&F2.
  • Toutes les plages doivent avoir la même taille. Elles sont lues ligne par ligne : la première cellule de chaque plage forme une ligne, la deuxième cellule de chaque plage la suivante.
  • Les conditions sont reliées par ET. Pour un OU, voir plus bas.

NB.SI.ENS existe dans toutes les versions d'Excel depuis 2007 et dans Google Sheets.

NB.SI.ENS entre deux nombres

Pour compter les valeurs d'une tranche, utilisez deux fois la même plage, une fois avec la borne inférieure et une fois avec la borne supérieure.

Ventes de 50 à 150
F4
ABCDEF
1RegionProductSalesSettingValue
2NorthApple120Min50
3SouthPear45Max150
4NorthPear80Between3
5EastApple55
6SouthApple200
7NorthApple30
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.ENS(C2:C7;">="&F2;C2:C7;"<="&F3)

120, 80 et 55 sont compris entre 50 et 150, donc F4 affiche 3. Modifiez les bornes en F2 et F3 et le compte suit. ">=" et "<=" incluent les bornes ; utilisez ">" et "<" pour les exclure.

NB.SI.ENS entre deux dates

Les dates fonctionnent de la même façon. Gardez la date de début et la date de fin dans des cellules et reliez-les aux opérateurs, pour ne jamais taper une date entre les guillemets.

Commandes de février
F4
ABCDEF
1RegionSalesDateSettingValue
2North1202026-01-05Start2026-02-01
3South452026-01-12End2026-02-28
4North802026-02-03Orders2
5East552026-02-18North orders1
6South2002026-03-02
7North302026-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.ENS(C2:C7;">="&F2;C2:C7;"<="&F3)

Deux commandes tombent en février, et l'une d'elles vient de North. F5 contient trois paires : une pour la région et deux pour la période. Si vos dates contiennent une heure (2026-02-28 16:30), "<="&F3 manque tout ce qui suit 0:00 le dernier jour ; utilisez plutôt "<"&F3+1.

NB.SI.ENS avec une logique OU

NB.SI.ENS n'a pas de OU. Pour compter les commandes North ou South supérieures à 50, donnez au critère de région une liste entre accolades. NB.SI.ENS renvoie alors un compte par élément, et SOMME (SUM en anglais) les additionne.

North ou South, plus de 50
F2
ABCDEF
1RegionProductSalesConditionCount
2NorthApple120North or South, over 503
3SouthPear45Same, two COUNTIFS3
4NorthPear80
5EastApple55
6SouthApple200
7NorthApple30
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.

Les deux formules donnent 3 : deux lignes North et une ligne South supérieures à 50. La version avec accolades est plus courte quand la liste s'allonge. N'utilisez la liste que sur un seul critère. Deux listes dans la même formule associent leurs éléments deux à deux au lieu d'essayer toutes les combinaisons, ce qui est rarement ce que vous voulez.

Quand les éléments sont dans des cellules (par exemple E8:E9), =SOMMEPROD(NB.SI.ENS(A2:A7;E8:E9;C2:C7;">50")) fait la même chose sans accolades.

NB.SI.ENS non vide

"<>" signifie "non vide" et "" signifie "vide" : une colonne de dates d'expédition indique donc quelles commandes sont encore ouvertes.

Commandes ouvertes et expédiées
F2
ABCDEF
1RegionOrderShippedConditionCount
2NorthA-1012026-01-08North, shipped2
3SouthA-102North, not shipped1
4NorthA-1032026-02-06
5EastA-1042026-02-20
6SouthA-105
7NorthA-106
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.ENS(A2:A7;"North";C2:C7;"<>")

Deux commandes North ont une date d'expédition et une n'en a pas. Tapez une date en C7 et le compte passe de F3 à F2. Une formule qui renvoie une chaîne vide ("") est comptée par "" et aussi par "<>" ; NB.SI non vide explique comment contourner ce problème.

Exercice : deux conditions

À vous : les pommes de South
F2
ABCDEF
1RegionProductSalesConditionCount
2NorthApple120South Apple
3SouthPear45
4NorthPear80
5EastApple55
6SouthApple200
7NorthApple30
8SouthApple75
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.

À vous : Comptez les lignes où la région est South et le produit est Apple. Écrivez la formule en F2.

À vous : grosses commandes sur une période
F4
ABCDEF
1RegionSalesDateSettingValue
2North1202026-01-05Start2026-01-01
3South1452026-01-12End2026-02-28
4North802026-02-03Count
5East1552026-02-18
6South2002026-03-02
7North302026-03-20
8West1102026-02-25
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.

À vous : Comptez les commandes datées de F2 à F3 (bornes incluses) dont les ventes atteignent au moins 100. Écrivez la formule en F4.

Pourquoi NB.SI.ENS renvoie #VALEUR! ou 0

  • Des plages de tailles différentes. =NB.SI.ENS(A2:A7;"North";C2:C6;">50") renvoie #VALEUR! (en anglais #VALUE!) parce que A2:A7 compte six cellules et C2:C6 cinq. Faites commencer et finir chaque plage sur les mêmes lignes.
  • Un ET qui ne peut jamais être vrai. =NB.SI.ENS(A2:A7;"North";A2:A7;"South") vaut toujours 0 : une cellule ne peut pas être les deux à la fois. C'est un OU, donc utilisez la version avec accolades ci-dessus.
  • Une date tapée entre les guillemets. ">=1/2/2026" est lue selon l'ordre des dates de votre système. Mettez la date dans une cellule et écrivez ">="&F2.
  • L'opérateur et la cellule entre les guillemets. ">=F2" compare au texte F2. Écrivez ">="&F2.

NB.SI.ENS compte des lignes. Pour additionner une colonne sur les mêmes lignes, les arguments sont presque identiques avec SOMME.SI.ENS ; pour les conditions que NB.SI.ENS ne sait pas exprimer (une colonne comparée à une autre, un calcul sur chaque ligne), utilisez SOMMEPROD.

Questions fréquentes

Quelle est la différence entre NB.SI et NB.SI.ENS ?

NB.SI prend une plage et une condition. NB.SI.ENS prend autant de paires plage et condition que nécessaire et compte les lignes où toutes sont vraies : =NB.SI.ENS(A2:A7;"North";C2:C7;">50"). Avec une seule paire, NB.SI.ENS donne le même résultat que NB.SI.

Comment compter entre deux dates avec NB.SI.ENS ?

Utilisez deux fois la colonne des dates, une fois par borne : =NB.SI.ENS(C2:C7;">="&F2;C2:C7;"<="&F3) compte les dates de F2 à F3, bornes incluses.

Comment utiliser NB.SI.ENS avec OU ?

NB.SI.ENS relie toujours ses conditions par ET. Pour un OU, donnez à un critère une liste entre accolades et additionnez les résultats. En forme anglaise : =SUM(COUNTIFS(A2:A7,{"North","South"},C2:C7,">50")).

Pourquoi NB.SI.ENS renvoie-t-elle #VALEUR! ?

Les plages n'ont pas la même taille. Toutes les plages de NB.SI.ENS doivent avoir le même nombre de lignes et de colonnes, donc A2:A7 ne peut pas être associée à C2:C6.

Comment compter les valeurs comprises entre deux nombres avec NB.SI.ENS ?

Utilisez deux fois la même plage, une fois par borne : =NB.SI.ENS(C2:C7;">=50";C2:C7;"<=150") compte les valeurs de 50 à 150, bornes incluses. Utilisez ">" et "<" pour exclure les bornes.

Illustration des langages de programmation de Coddy

Apprendre à coder avec Coddy

COMMENCER