Votre formule
La même avec les noms de fonctions anglais
La différence, qui est toute la question
- NB ne compte que les nombres. Le texte, VRAI/FAUX et les cellules vides sont ignorés. Une colonne de références de commande stockées en texte compte pour zéro, ce qui surprend quand on attendait le nombre de lignes.
- NBVAL compte tout ce qui n’est pas vide. Nombres, texte, dates, erreurs, et même une espace tapée par mégarde. Elle répond à « combien de cellules contiennent quelque chose ».
- Une formule qui renvoie "" n’est pas vide pour NBVAL. Une cellule contenant
=SI(A1>0;"ok";"")paraît vide mais contient un résultat de formule : NBVAL la compte, NB.VIDE non. C’est de loin la raison la plus fréquente pour laquelle les deux divergent. - Ni l’une ni l’autre ne prend de condition. Pour ne compter que ce qui correspond à quelque chose, il faut NB.SI.
- Le séparateur et le nom changent avec votre Excel. NB s’appelle COUNT en anglais, CONTAR en espagnol et ANZAHL en allemand ; NBVAL s’appelle COUNTA, CONTARA et ANZAHL2. Les deux versions sont affichées.
Compter les vides à la place
Aucune des deux ne le fait. NB.VIDE(plage) compte les cellules vides, et elle diverge du « nombre de lignes moins NBVAL » précisément quand une formule a renvoyé une chaîne vide.