NB (COUNT en anglais) est la fonction Excel qui compte les cellules contenant des valeurs numériques dans une plage. Contrairement à NBVAL qui compte tout ce qui n'est pas vide, NB est ultra-sélective : elle ne compte que les vrais nombres, les dates et les heures. Le texte, les cellules vides et les erreurs sont ignorés.
Tu vas l'utiliser pour vérifier la complétude de tes données, compter combien de clients ont effectué un achat, ou savoir combien de mois ont des chiffres d'affaires enregistrés dans un tableau annuel. C'est souvent le premier outil pour détecter les trous dans une saisie avant de lancer un traitement.
Syntaxe de la fonction NB
=NB(valeur1; [valeur2]; [valeur3]; ...)NB peut accepter jusqu'à 255 arguments. Les valeurs logiques VRAI/FAUX passées directement (ex. =NB(VRAI)) sont comptées comme 1, mais si elles figurent dans une plage (=NB(A1:A10)), elles sont ignorées. Ce comportement asymétrique surprend souvent.
Comprendre chaque paramètre de la fonction NB
NB n'a besoin que d'une chose pour fonctionner : valeur1, ta première plage à scanner. Tout le reste (valeur2, valeur3…) est facultatif et sert à empiler des plages non adjacentes dans le même calcul, par exemple =NB(A1:A10; C1:C10) pour sauter une colonne de catégories au milieu. Tu peux ainsi cumuler jusqu'à 255 zones d'un coup.
valeur1
: c'est la première plage ou valeur à analyserÇa peut être une référence de cellule comme A1, une plage comme A1:A100, ou même un nombre directement. NB va compter combien de cellules dans cette plage contiennent des nombres, dates ou heures. C'est le seul paramètre obligatoire.
Astuce : Pour compter tous les nombres d'une colonne entière, utilise =NB(A:A). La formule s'adapte automatiquement quand tu ajoutes des données. Évite toutefois cette syntaxe dans des modèles lourds : analyser un million de lignes peut ralentir ton fichier.
valeur2, valeur3, ...
: tu peux ajouter jusqu'à 254 arguments supplémentaires(facultatif)C'est utile quand tu veux compter les nombres dans plusieurs plages non adjacentes. Par exemple, =NB(A1:A10; C1:C10; E5) compte tous les nombres dans A1:A10, puis dans C1:C10, puis vérifie si E5 contient un nombre.
Les plages non contiguës te permettent d'exclure des colonnes intermédiaires (en-têtes, catégories textuelles) tout en restant dans une seule formule.
Exemples pratiques pas à pas
Comptabilité : vérifier le nombre de factures avec montant
Tu es comptable et tu dois vérifier combien de factures du mois ont un montant enregistré. Certaines lignes sont encore vides car les factures n'ont pas été saisies.
| A | B | |
|---|---|---|
| 1 | N° Facture | Montant HT |
| 2 | FAC-001 | 1 250 € |
| 3 | FAC-002 | |
| 4 | FAC-003 | 3 400 € |
| 5 | FAC-004 | 890 € |
| 6 | FAC-005 | |
| 7 | Nombre rempli | 3 |
=NB(B1:B5)La fonction compte uniquement les 3 cellules contenant des montants numériques ; les cellules vides sont ignorées. Pour savoir combien il en reste à saisir, soustrais ce résultat du total attendu, soit 2 factures manquantes.
Analyse : compter les mois avec données de ventes
Tu analyses les ventes trimestrielles. Certains mois n'ont pas encore de données car le trimestre n'est pas terminé. Tu veux calculer une moyenne uniquement sur les mois effectivement renseignés.
| A | B | |
|---|---|---|
| 1 | Mois | CA |
| 2 | Janvier | 45 000 € |
| 3 | Février | 52 000 € |
| 4 | Mars | 48 000 € |
| 5 | Avril | |
| 6 | Mai | |
| 7 | Juin | |
| 8 | Mois complets | 3 |
=NB(B1:B6)La fonction retourne 3 : seuls les trois premiers mois ont des chiffres d'affaires enregistrés. Tu peux réutiliser ce décompte comme diviseur pour une moyenne réaliste, calculée sur le bon nombre de mois au lieu d'être faussée par les cellules vides.
Astuce de pro : Pour une moyenne qui ignore automatiquement les vides, utilise directement =MOYENNE(B1:B6) : MOYENNE ne tient pas compte des cellules vides. NB reste utile pour afficher explicitement combien de périodes sont prises en compte.
RH : vérifier que tous les salaires sont saisis avant la paie
Tu prépares la paie et tu veux vérifier que tous les salaires ont bien été saisis avant de lancer le traitement.
| A | B | |
|---|---|---|
| 1 | Employé | Salaire brut |
| 2 | Marie Dupont | 3 200 € |
| 3 | Pierre Martin | 2 800 € |
| 4 | Sophie Bernard | |
| 5 | Lucas Petit | 3 500 € |
| 6 | Emma Rousseau | 2 950 € |
| 7 | Salaires saisis | 4 / 5 |
=NB(B1:B5)&" / 5"La fonction compte les salaires saisis (4), puis l'opérateur & colle ce résultat au texte du dénominateur. Tu vois immédiatement "4 / 5" : il manque un salaire, celui de Sophie Bernard.
Commercial : suivre l'avancement des résultats trimestriels
Tu suis les performances commerciales annuelles. Les deux derniers trimestres ne sont pas encore terminés. Tu veux savoir combien de trimestres ont des résultats enregistrés.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Trimestre | Ventes | Objectif | Atteint |
| 2 | T1 | 125 000 € | 120 000 € | 104% |
| 3 | T2 | 142 000 € | 130 000 € | 109% |
| 4 | T3 | |||
| 5 | T4 | |||
| 6 | Périodes complètes | 2 |
=NB(B1:B4)La fonction retourne 2 : seuls les deux premiers trimestres ont des résultats enregistrés, les deux derniers n'étant pas encore terminés.
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction NB
Neuf fois sur dix, le souci tient à une chose : NB ne voit que les vrais nombres. Lance-la sur une colonne de noms ou de catégories et elle te répond 0, parce qu'elle ignore tout ce qui est du texte. Le piège jumeau, c'est le nombre qui s'affiche mais qui est stocké en texte après un import CSV : il a beau ressembler à un chiffre, NB ne le compte pas.
Confondre NB et NBVAL sur une colonne de texte
C'est l'erreur numéro 1. Sur une liste de noms ou de catégories, =NB(A1:A10) retourne 0 car il n'y a que du texte. NB ignore intégralement les valeurs textuelles, même si elles ressemblent à des chiffres.
Solution : Demande-toi : "est-ce que je veux compter UNIQUEMENT les nombres, ou tout ce qui est rempli ?" Si c'est la deuxième option, utilise =NBVAL(A1:A10) à la place de NB.
NB retourne 0 alors que des nombres sont visibles à l'écran
Après un import CSV ou un copier-coller depuis le web, les nombres peuvent être stockés comme du texte. NB les ignore complètement. Indice visuel : les vrais nombres s'alignent à droite, le texte s'aligne à gauche.
Solution : Sélectionne les cellules suspectes et clique sur l'icône d'avertissement jaune pour les convertir. Ou utilise =CNUM(A1) pour forcer la conversion. Une fois converties en nombres réels, NB les comptabilisera.
Résultat inattendu à cause des dates dans la plage
Les dates sont des nombres dans Excel (nombre de jours depuis le 1er janvier 1900). Si une colonne mélange des montants et des dates, NB les compte tous. Cela peut gonfler artificiellement le décompte.
Solution : Sépare tes données par type dans des colonnes différentes. Ou utilise NB.SI pour compter uniquement les valeurs qui dépassent un certain seuil, ce qui exclura naturellement les petits numéros de dates anciennes.
NB vs NBVAL vs NB.VIDE vs NB.SI
Prends NB quand tu veux strictement les valeurs numériques et rien d'autre. Si tu cherches à compter tout ce qui est rempli, texte compris, bascule sur NBVAL ; pour repérer les cellules encore vides, c'est NB.VIDE ; et dès qu'une condition entre en jeu (montant supérieur à un seuil, statut précis), seule NB.SI sait filtrer.
| Critère | NB | NBVAL | NB.VIDE | NB.SI |
|---|---|---|---|---|
| Compte les nombres | Oui | Oui | Non | Selon critère |
| Compte le texte | Non | Oui | Non | Selon critère |
| Compte les cellules vides | Non | Non | Oui | Si critère "" |
| Compte les dates | Oui | Oui | Non | Selon critère |
| Critères conditionnels | Non | Non | Non | Oui |
| Cas d'usage principal | Compter les valeurs numériques | Compter tout ce qui est rempli | Trouver les trous dans les données | Compter selon une condition |
Questions fréquentes sur la fonction NB
Quelle est la différence entre NB et NBVAL ?
NB compte uniquement les cellules contenant des nombres (y compris dates et heures). NBVAL compte toutes les cellules non vides, y compris le texte. Si ta cellule contient "Bonjour", NB l'ignore mais NBVAL la compte.
NB compte-t-elle les dates et les heures ?
Oui. Dans Excel, les dates et heures sont stockées comme des nombres (le nombre de jours depuis le 1er janvier 1900). Donc =NB(A1) où A1 contient 15/03/2024 retourne 1. C'est pratique pour compter combien de rendez-vous sont programmés dans un agenda.
NB compte-t-elle les valeurs logiques VRAI/FAUX ?
Ça dépend. Si VRAI/FAUX est dans une plage comme =NB(A1:A10), ils sont ignorés. Mais si tu écris directement =NB(VRAI), ça retourne 1. Dans 99 % des cas pratiques, tu utiliseras des plages, donc les valeurs logiques seront ignorées.
Pourquoi NB ne compte pas certains nombres dans mon tableau ?
C'est souvent parce que tes nombres sont stockés en format texte, par exemple après un import CSV. Vérifie l'alignement : les vrais nombres s'alignent à droite, le texte à gauche. Utilise =CNUM() pour convertir le texte en nombre.
Comment compter les cellules contenant des formules qui retournent des nombres ?
NB compte le résultat de la formule, pas la formule elle-même. Si A1 contient =2+2, alors =NB(A1) retourne 1 car le résultat est 4. Par contre, si la formule retourne du texte comme =SI(A1>10;"Oui";"Non"), NB l'ignore.
Pour aller plus loin
Bloqué sur une formule Excel ?
Pose ta question à notre assistant Excel IA, il te sort la bonne formule en quelques secondes.
Essayer l'assistant IAGratuit · 10 questions par mois
