La formule NB d'Excel : guide complet pour compter les valeurs numériques
=NB(valeur1; [valeur2]; ...)La formule NB est l'une des fonctions les plus fondamentales d'Excel pour l'analyse de données. Elle permet de compter rapidement le nombre de cellules contenant des valeurs numériques dans une plage donnée, ce qui est essentiel pour les statistiques de base, les rapports d'activité et les analyses commerciales. Contrairement à COUNTA qui compte toutes les cellules non vides, NB se concentre exclusivement sur les nombres, ignorant le texte, les espaces vides et les valeurs booléennes. Cette fonction est particulièrement utile lorsque vous travaillez avec des données mixtes où vous devez distinguer les entrées numériques des autres types de contenu. Que vous soyez responsable de la gestion d'inventaire, de la comptabilité ou de l'analyse de ventes, NB vous permet d'obtenir des comptages précis et fiables en quelques secondes. Sa syntaxe simple et sa compatibilité avec toutes les versions d'Excel en font un outil indispensable pour tout utilisateur sérieux du tableur. Dans ce guide complet, nous explorerons en détail comment utiliser NB, ses paramètres, ses limitations, et comment l'associer avec d'autres fonctions pour créer des analyses plus sophistiquées.
Syntaxe et paramètres
La syntaxe de la formule NB est extrêmement simple et flexible : =NB(valeur1; [valeur2]; ...). Le paramètre valeur1 est obligatoire et représente la première plage ou cellule à analyser. Vous pouvez spécifier une seule cellule (A1), une plage continue (A1:A10), ou même une plage non contiguë (A1:A5; C1:C10). Les paramètres valeur2, valeur3, etc., sont optionnels et vous permettent d'ajouter autant de plages supplémentaires que nécessaire dans une seule formule. Le point crucial à comprendre est que NB compte UNIQUEMENT les cellules contenant des nombres. Elle ignore complètement le texte, même s'il représente un nombre écrit en lettres comme "cent". Elle ignore aussi les dates formatées comme du texte, les valeurs logiques (VRAI/FAUX), et bien sûr les cellules vides. Si vous avez une plage avec 10 cellules contenant 5 nombres, 3 textes et 2 vides, NB retournera simplement 5. Un conseil pratique : utilisez des points-virgules (;) comme séparateur en version française d'Excel, et des virgules (,) en version anglaise. Vous pouvez également imbriquer NB avec d'autres fonctions pour créer des calculs plus avancés, comme diviser le total par le nombre de valeurs numériques pour obtenir une moyenne robuste.
value1value2Exemples pratiques
Comptage simple de ventes mensuelles
=NB(B2:B32)Cette formule compte toutes les cellules de la plage B2:B32 qui contiennent des nombres. Si certaines cellules contiennent du texte comme "Fermé" ou sont vides, elles ne seront pas comptées.
Comptage multi-plages pour inventaire
=NB(C2:C50; E2:E50; G2:G50)Cette formule compte les valeurs numériques dans trois colonnes distinctes (stocks des trois entrepôts). Elle ignore les cellules contenant des codes textuels ou des notes.
Analyse de participation aux tests
=NB(D3:D45)La formule compte uniquement les cellules contenant des notes numériques (par exemple 15, 18.5, 12). Les cellules avec "Absent", "Reporté" ou vides ne sont pas comptées.
Points clés à retenir
- NB compte exclusivement les cellules contenant des nombres, ignorant le texte, les espaces vides et les valeurs booléennes
- La syntaxe simple =NB(valeur1; [valeur2]; ...) permet de compter une ou plusieurs plages en une seule formule
- Combinez NB avec d'autres fonctions comme COUNTA, SOMME ou COUNTIF pour créer des analyses de données plus sophistiquées
- NB est compatible avec toutes les versions d'Excel depuis 2007 et fonctionne également dans Google Sheets et LibreOffice
- Utilisez NB en combinaison avec COUNTA pour valider la qualité de vos données et identifier les problèmes de saisie
Astuces de pro
Utilisez NB en combinaison avec COUNTA pour valider la qualité de vos données : si NB(A:A) est beaucoup plus petit que COUNTA(A:A), vous avez probablement beaucoup de données textuelles.
Impact : Vous identifiez rapidement les problèmes de qualité de données et les erreurs de saisie.
Pour compter les nombres dans une colonne entière sans spécifier la plage exacte, utilisez =NB(A:A). Excel est intelligent et ignore les en-têtes textuels.
Impact : Vous gagnez du temps en n'ayant pas à définir précisément les limites de votre plage, idéal pour les données qui s'ajoutent régulièrement.
Combinez NB avec COUNTBLANK pour obtenir un aperçu complet : =NB(A1:A10) vous donne les nombres, =COUNTBLANK(A1:A10) les vides, et COUNTA vous donne le total.
Impact : Vous avez une vue d'ensemble complète de la composition de vos données.
Utilisez NB dans les validations de données : créez une règle qui alerte si le nombre de valeurs numériques saisies ne correspond pas à un seuil attendu.
Impact : Vous mettez en place un contrôle qualité automatique pour vos saisies de données.
Combinaisons utiles
NB + COUNTA pour identifier le texte
=COUNTA(A1:A10)-NB(A1:A10)Cette combinaison calcule le nombre de cellules non vides contenant du texte (ou d'autres types non numériques). Le résultat est le nombre total de cellules non vides moins le nombre de cellules numériques.
NB + SOMME pour calculer une moyenne robuste
=SOMME(A1:A10)/NB(A1:A10)Cette formule calcule la moyenne des nombres dans une plage, en ignorant automatiquement le texte et les cellules vides. C'est plus robuste que MOYENNE() car elle gère mieux les données mixtes.
NB + SI pour comptage conditionnel avancé
=SOMPRODUCT((NB(A1:A10)>0)*(A1:A10>100))Cette combinaison compte les nombres supérieurs à 100 dans une plage. Elle combine NB avec SUMPRODUCT pour créer un filtre numérique personnalisé.
Erreurs courantes
Cause : Utilisation d'un séparateur incorrect entre les paramètres. En Excel français, vous devez utiliser un point-virgule (;), pas une virgule (,).
Solution : Corrigez la syntaxe : =NB(A1:A10; B1:B10) au lieu de =NB(A1:A10, B1:B10). Vérifiez les paramètres régionaux de votre système.
Cause : La plage référencée a été supprimée ou le nom de colonne n'existe pas. Par exemple, si vous avez écrit =NB(Z1:Z100) mais que la colonne Z n'existe pas.
Solution : Vérifiez que toutes les plages existent et sont correctement orthographiées. Utilisez l'assistant Fonction pour sélectionner les plages visuellement.
Cause : Les données sont formatées en texte, pas en nombres. Par exemple, les nombres importés d'une base de données peuvent être stockés comme du texte.
Solution : Utilisez la fonction VALEUR() pour convertir le texte en nombres, ou utilisez COUNTA() si vous voulez compter tous les contenus non vides.
Checklist de dépannage
- 1.Vérifiez que vous utilisez le bon séparateur (point-virgule ; en français, virgule , en anglais)
- 2.Confirmez que les données sont réellement stockées comme des nombres, pas comme du texte (alignement à droite = nombre, à gauche = texte)
- 3.Assurez-vous que les références de plages sont correctes et qu'aucune colonne n'a été supprimée
- 4.Testez avec une plage simple (par exemple =NB(A1:A5)) pour isoler le problème avant d'ajouter d'autres paramètres
- 5.Vérifiez que les dates ne sont pas formatées comme du texte (utilisez =ISNUMBER(A1) pour tester)
- 6.Consultez le format de cellule : si les nombres sont formatés comme du texte, utilisez VALEUR() ou convertissez-les explicitement
Cas particuliers
Cellules contenant zéro (0)
Comportement : NB compte les cellules contenant zéro comme des nombres valides. Le résultat inclut donc les zéros.
Solution : Si vous devez exclure les zéros, utilisez =COUNTIF(A1:A10;">0")+COUNTIF(A1:A10;"<0") ou =SUMPRODUCT((A1:A10<>0)*(ISNUMBER(A1:A10)))
C'est le comportement attendu et correct pour la plupart des cas d'usage.
Nombres très grands ou très petits (notation scientifique)
Comportement : NB compte correctement les nombres en notation scientifique (par exemple 1E+10 ou 1.5E-5) car ils sont stockés en interne comme des nombres.
Aucun problème, NB fonctionne correctement avec la notation scientifique.
Plages avec des formules retournant des erreurs (#DIV/0!, #N/A, etc.)
Comportement : NB ignore les cellules contenant des erreurs de formule. Elles ne sont pas comptées comme des nombres.
Solution : Utilisez IFERROR pour gérer les erreurs avant le comptage : =IFERROR(A1:A10; "") puis appliquez NB
C'est le comportement protecteur de NB qui évite les distorsions dues aux erreurs de calcul.
Limitations
- •NB ne peut pas compter les nombres stockés comme du texte. Si vos données sont importées d'une base de données, elles peuvent être formatées en texte et ne seront pas comptées.
- •NB ne supporte pas les critères complexes ou multiples. Pour cela, utilisez COUNTIF, COUNTIFS ou SUMPRODUCT.
- •NB ignore les dates formatées comme du texte, même si elles représentent des dates valides. Seules les dates stockées en tant que nombres sont comptées.
- •La formule ne peut pas distinguer entre les différents types de nombres (entiers, décimaux, négatifs). Si vous avez besoin de cette distinction, combinez NB avec COUNTIF ou des formules conditionnelles.
Alternatives
Compatibilité
✓ Excel
Depuis Excel 2007
=NB(valeur1; [valeur2]; ...) en version française, =COUNT(value1, [value2], ...) en version anglaise✓Google Sheets
=COUNTA(valeur1; [valeur2]; ...) - Note: Google Sheets utilise COUNTA pour les nombres, la syntaxe est identiqueGoogle Sheets supporte NB avec la même syntaxe. Utilisez des virgules comme séparateur en version anglaise, des points-virgules en version française.
✓LibreOffice
=NB(valeur1; [valeur2]; ...) - Syntaxe identique à Excel