Menu

NB.SI non vide Excel : compter les cellules non vides

=NB.SI(B2:B8;"<>") compte les cellules de B2:B8 qui ne sont pas vides, comme NBVAL. Ajouter d'autres conditions avec NB.SI.ENS, et traiter les cellules qui semblent seulement vides.

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

=NB.SI(B2:B8;"<>") compte les cellules de B2:B8 qui ne sont pas vides. <> signifie "différent de", et sans rien derrière, la comparaison se fait avec une cellule vide. =NBVAL(B2:B8) donne le même nombre. NB.SI s'appelle COUNTIF dans un Excel anglais, et NBVAL COUNTA ; le tableau affiche les formules sous cette forme, avec des virgules, mais vous pouvez aussi les taper comme dans un Excel français, avec des points-virgules : =NB.SI(B2:B8;"<>").

Compter les cellules remplies
F2
ABCDEF
1NameEmailPhoneCountResult
2Anaana@mail.com555-0101Emails, COUNTIF5
3Ben555-0102Emails, COUNTA5
4Caracara@mail.comMissing emails2
5Dandan@mail.com555-0104Phones4
6EvaRows7
7Finnfinn@mail.com555-0106
8Gusgus@mail.com
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(B2:B8;"<>")

Cinq des sept contacts ont une adresse e-mail, donc F2 et F3 affichent toutes deux 5, et NB.VIDE (COUNTBLANK) compte les deux manquantes. Le nombre de cellules remplies et celui des vides totalisent toujours le nombre de lignes de F6. Tapez une adresse en B3 : F2 augmente de un et F4 diminue.

NB.SI non vide ou NBVAL

Pour une seule plage, =NB.SI(B2:B8;"<>") et =NBVAL(B2:B8) comptent les mêmes cellules : tout ce qui n'est pas vide, y compris les nombres, les dates, VRAI/FAUX et les valeurs d'erreur. NBVAL est plus courte. La forme "<>" sert le jour où il faut une seconde condition, car NBVAL n'en accepte pas et NB.SI.ENS si.

NB (COUNT) est une autre fonction : elle ne compte que les nombres et les dates, donc une colonne de noms donne 0. Les trois sont comparées sur NB et NBVAL.

L'inverse de non vide est "" : =NB.SI(B2:B8;"") compte les cellules vides, comme NB.VIDE.

NB.SI.ENS non vide avec une autre condition

Utilisez "<>" comme l'un des critères de NB.SI.ENS (COUNTIFS). Ci-dessous, une date d'expédition signifie que la commande est partie.

Non vide plus une condition
F2
ABCDEF
1RegionOrderShippedConditionCount
2NorthA-1012026-01-08North, shipped2
3SouthA-102North, not shipped1
4NorthA-1032026-02-06Any region, shipped3
5EastA-1042026-02-20Order and date filled3
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;"<>")

F2 compte les deux commandes North qui ont une date, F3 celle qui n'en a pas. F5 place "<>" sur deux colonnes : elle compte les lignes où les deux sont remplies. Le même critère fonctionne dans SOMME.SI.ENS et MOYENNE.SI.ENS : =SOMME.SI.ENS(D2:D7;C2:C7;"<>") additionnerait une colonne de montants D pour les seules lignes expédiées.

Les cellules qui semblent seulement vides

Une cellule contenant une espace paraît vide mais contient du texte, et "<>" comme NBVAL la comptent. Cela arrive avec des données collées depuis d'autres systèmes ou "effacées" en tapant une espace. Comptez les cellules au contenu visible en supprimant les espaces et en vérifiant la longueur.

Une espace n'est pas une cellule vide
E2
ABCDE
1NameNoteCountResult
2Anacall backCOUNTA4
3Ben Visible content2
4CaraSpace in B3?1
5Danpaid
6Eva
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =NBVAL(B2:B6)

B3 contient une espace et B6 deux. NBVAL les compte avec les deux vraies remarques et affiche 4. La version SOMMEPROD (SUMPRODUCT) supprime les espaces de chaque cellule et ne compte que celles où il reste quelque chose : 2. Pour nettoyer les cellules elles-mêmes, sélectionnez-les et appuyez sur Suppr, ou utilisez SUPPRESPACE dans une colonne d'aide. Remplacer toutes les espaces par rien avec Rechercher et remplacer transformerait aussi "call back" en "callback".

Les formules qui renvoient une chaîne vide

Une formule comme =SI(C2>0;C2;"") n'affiche rien quand la condition est fausse, mais la cellule n'est pas vide : elle contient une formule dont le résultat est une chaîne vide. Les fonctions de comptage la traitent différemment. Si A2:A6 contient Apple, une formule qui renvoie "", une cellule vide, 5 et Pear, Excel donne :

=COUNTA(A2:A6)                   4   counts the "" formula
=COUNTIF(A2:A6,"<>")             4   counts the "" formula
=COUNTBLANK(A2:A6)               2   counts the "" formula as blank
=COUNTIF(A2:A6,"")               2   counts the "" formula as blank
=SUMPRODUCT(--(LEN(A2:A6)>0))    3   counts only visible content
=COUNTIF(A2:A6,"?*")             2   counts text of at least one character

La cellule de la formule est donc comptée à la fois comme vide et comme non vide, et NBVAL plus NB.VIDE dépasse le nombre de cellules. Quand une colonne est remplie de telles formules, comptez avec =SOMMEPROD(--(NBCAR(A2:A6)>0)), qui ne compte que les cellules affichant quelque chose. Avec une seconde condition : =SOMMEPROD((B2:B6="North")*(NBCAR(A2:A6)>0)).

Exercice : non vide plus une condition

À vous : contacts de Paris avec un téléphone
F2
ABCDEF
1NameCityPhoneCountResult
2AnaParis555-0101Paris with phone
3BenLyon555-0102
4CaraParis
5DanParis555-0104
6EvaLyon
7FinnNice555-0106
8GusParis
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.

À vous : Comptez les contacts de Paris qui ont un numéro de téléphone en colonne C. Écrivez la formule en F2.

Quelle formule utiliser

Vous voulez compterFormule
Les cellules remplies d'une plage=NBVAL(B2:B8)
Les cellules remplies plus une autre condition=NB.SI.ENS(A2:A8;"North";B2:B8;"<>")
Les lignes où deux colonnes sont remplies=NB.SI.ENS(B2:B8;"<>";C2:C8;"<>")
Les cellules au contenu visible, sans les espaces ni les formules ""=SOMMEPROD(--(NBCAR(SUPPRESPACE(B2:B8))>0))
Seulement les cellules de texte remplies=NB.SI(B2:B8;"?*")
Les cellules vides=NB.VIDE(B2:B8)

Pour tester une seule cellule au lieu de compter, =B2<>"" renvoie VRAI quand B2 affiche quelque chose, et =ESTVIDE(B2) ne renvoie VRAI que si B2 est réellement vide, sans formule.

Questions fréquentes

NB.SI avec "<>" est-elle identique à NBVAL ?

Pour une seule plage, oui : =NB.SI(B2:B8;"<>") et =NBVAL(B2:B8) comptent les mêmes cellules (texte, nombres, dates, VRAI/FAUX et erreurs). La forme "<>" sert dans NB.SI.ENS, où elle peut côtoyer une autre condition.

Que signifie "<>" dans NB.SI ?

<> signifie "différent de", et sans rien derrière, la comparaison se fait avec une cellule vide. "<>" signifie donc "non vide", et "<>North" signifie "différent de North".

Comment compter les cellules non vides et différentes de zéro ?

Utilisez =NB.SI.ENS(B2:B8;"<>";B2:B8;"<>0"). Le critère "<>0" seul compte aussi les cellules vides, car une cellule vide n'est pas égale à 0 ; ajouter "<>" les exclut.

Pourquoi NBVAL compte-t-elle des cellules qui semblent vides ?

Elles ne sont pas vides : elles contiennent une espace, ou une formule qui renvoie une chaîne vide "". Pour ne compter que les cellules au contenu visible, utilisez =SOMMEPROD(--(NBCAR(SUPPRESPACE(B2:B8))>0)).

Illustration des langages de programmation de Coddy

Apprendre à coder avec Coddy

COMMENCER