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

Accueil › Fonctions Excel › NB.SI

Fonction NB.SI dans Excel : mode d'emploi et exemples

NB.SI compte combien de cellules d'une plage remplissent une condition. Combien de commandes sont envoyées, combien de notes dépassent 80, combien de fois un nom apparaît : NB.SI répond à tout cela en une seule formule. Dans l'Excel en anglais, la fonction s'appelle COUNTIF.

Dans ce guide
  1. Syntaxe de NB.SI
  2. Exemple simple
  3. Essayez vous-même
  4. Types de critères
  5. Critère dans une cellule
  6. Trouver les doublons
  7. NB.SI.ENS
  8. Erreurs fréquentes
  9. Questions fréquentes

Syntaxe de NB.SI

=NB.SI(plage; critère)
ArgumentSignification
plageLes cellules à examiner.
critèreLa condition qu'une cellule doit remplir pour être comptée, comme "Envoyé", ">100" ou une référence de cellule.

Exemple simple : compter les commandes par statut

ABC
1CommandeStatutMontant
2#1001Envoyé120 €
3#1002En attente80 €
4#1003Envoyé45 €
5#1004Annulé200 €
6#1005Envoyé60 €
7#1006En attente95 €
=NB.SI(B2:B7; "Envoyé")

Trois cellules de B2:B7 contiennent « Envoyé » : le résultat est 3. NB.SI ne distingue pas les majuscules des minuscules : « envoyé » donnerait la même réponse.

S'exercer avec NB.SI : essayez vous-même

Lire est une chose, taper la formule en est une autre. Construisez la formule ci-dessous pas à pas : les indications vous disent quoi taper, et vous pouvez cliquer sur les cellules ou faire glisser dessus pour les ajouter, comme dans Excel.

Exercice: Comptez en D2 combien de factures sont "Payée": =NB.SI(B2:B7;"Payée")

Types de critères

Vous voulez compterFormuleRésultat
Un texte exact=NB.SI(B2:B7; "En attente")2
Tout sauf=NB.SI(B2:B7; "<>Envoyé")3
Les nombres supérieurs à 100=NB.SI(C2:C7; ">100")2
Un texte qui se termine par « é »=NB.SI(B2:B7; "*é")4
Les cellules non vides=NB.SI(B2:B7; "<>")6
Les cellules vides=NB.SI(B2:B7; "")0

Les opérateurs se mettent entre guillemets. Le caractère générique * remplace n'importe quel nombre de caractères, et ? un seul. Dans le quatrième exemple, « Envoyé » (×3) et « Annulé » se terminent par « é ».

Utiliser une cellule comme condition

Avec un statut tapé en E2, cette formule compte ce statut :

Opérateurs de comparaison : quoi taper

TapezSignifie
=égal à
>supérieur à
<inférieur à
>=supérieur ou égal à : d'abord >, puis =
<=inférieur ou égal à : d'abord <, puis =
<>différent de : d'abord <, puis >

Toujours deux touches séparées, jamais un symbole spécial. Dans un critère, mettez l'opérateur et la valeur ensemble entre guillemets, comme ">=500" ou "<>Payé" comme condition.

=NB.SI($B$2:$B$7; E2)

Pour combiner un opérateur avec la valeur d'une cellule, reliez-les avec &. Avec 100 en E3 :

=NB.SI(C2:C7; ">"&E3)

Trouver les doublons avec NB.SI

NB.SI vous dit combien de fois une valeur apparaît dans une liste. Placez-la à côté de chaque ligne et recopiez-la vers le bas :

=NB.SI($A$2:$A$100; A2)>1

Elle renvoie VRAI pour chaque valeur qui apparaît plus d'une fois. Vous pouvez utiliser la même formule comme règle de mise en forme conditionnelle (Accueil › Mise en forme conditionnelle › Nouvelle règle › Utiliser une formule) pour surligner automatiquement les doublons.

NB.SI.ENS : plusieurs conditions

Pour compter les lignes qui remplissent plusieurs conditions, utilisez NB.SI.ENS avec des paires plage-critère :

=NB.SI.ENS(B2:B7; "Envoyé"; C2:C7; ">100")

Seule la commande #1001 est envoyée et dépasse aussi 100 € : le résultat est 1. Une ligne n'est comptée que si toutes les conditions sont vraies. Plus de détails dans NB.SI.ENS.

Erreurs fréquentes avec NB.SI

  • Le résultat est 0. Cherchez des espaces en trop dans les données et vérifiez l'orthographe exacte du critère.
  • Les nombres ne sont pas comptés. Les nombres stockés en texte ne correspondent pas à une condition numérique comme ">100"
  • Un opérateur avec une cellule ne fonctionne pas. Écrivez ">"&E3 et non ">E3"
  • #VALEUR! avec des textes longs. NB.SI ne peut pas comparer des textes de plus de 255 caractères.
  • Vous devez distinguer majuscules et minuscules. NB.SI ne le peut pas. Utilisez =SOMMEPROD(--EXACT(B2:B7; "Envoyé"))

Questions fréquentes

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

NB compte les cellules contenant des nombres, NBVAL compte toutes les cellules non vides et NB.SI compte seulement les cellules qui remplissent la condition que vous indiquez.

Comment compter des cellules avec une condition OU ?

Additionnez deux NB.SI : =NB.SI(B2:B7; "Envoyé") + NB.SI(B2:B7; "En attente") compte les deux statuts.

Comment compter les cellules qui contiennent un mot ?

Entourez le mot de caractères génériques : =NB.SI(A2:A100; "*facture*") compte toutes les cellules qui contiennent « facture » n'importe où.

NB.SI distingue-t-elle les majuscules des minuscules ?

Non. Pour compter en respectant la casse, utilisez SOMMEPROD avec EXACT.