Comprendre le comportement de SOMMEPROD et NB.SI.ENS

Guy_M

XLDnaute Occasionnel
Bonjour,

Dans l'exemple ci-joint, j'essaye de compter le nombre de cellule non vide de la colonne B d'une autre feuille dont la cellule dans la colonne A correspond au critères dans A3.
Pour cela, j'ai le choix entre SOMMEPROD et NB.SI.ENS soit les 2 formules suivantes
Code:
=NB.SI.ENS(DonneesTraitees!$B$3:$B$40;"<>"&"";DonneesTraitees!$A$3:$A$40;"="&$A3)
ou
=SOMMEPROD((DonneesTraitees!$B$3:$B$40<>"")*(DonneesTraitees!$A$3:$A$40=$A3))

Chaque formule donne un résultat différent et je ne comprends pas pourquoi. Quelqu'un par ici aurait-il une explication ?

Par avance merci

Guy
 

Pièces jointes

  • Ex.sommeprod.vs.nbenssi.xlsx
    11.4 KB · Affichages: 51

Dugenou

XLDnaute Barbatruc
Re : Comprendre le comportement de SOMMEPROD et NB.SI.ENS

Bonjour,
sommeprod ne traite pas parfaitement le texte et spécialement le <> "..."
avec
Code:
=SOMMEPROD((DonneesTraitees!$B$3:$B$40>0)*(DonneesTraitees!$A$3:$A$40=Synthese!$A3))
on obtient le bon résultat.
Cordialement
 

Guy_M

XLDnaute Occasionnel
Re : Comprendre le comportement de SOMMEPROD et NB.SI.ENS

Bonjour,

Merci pour ces quelques éléments, cela me permet d'affiner mon questionnement sur le comportement de nb.si et nb.si.ens qui ne me semble pas cohérent ainsi
si la cellule A1 est vide :
Code:
nb.si(A1;"") -> 1
nb.si(A1;"<>"&"") -> 1

c'est à dire que A1 est à la fois vide et pas vide !

Code:
nb.si(A1;"="&0) -> 0
nb.si(A1;"<>"&0) -> 1
nb.si(A1;"<"&0) -> 0
nb.si(A1;">"&0) -> 0

c'est à dire que A1 n'est pas nul donc différent de zéro (normal) mais il n'est aussi ni inférieur ni supérieur à 0 (à par 0 je ne connais pas d'autres nombres avec cette propriété).

A bientôt
Guy
 

Dugenou

XLDnaute Barbatruc
Re : Comprendre le comportement de SOMMEPROD et NB.SI.ENS

Salut,
le contenu de A1 n'étant pas un chiffre mais une valeur de texte différente de rien, ce n'est pas étonnant que les >0 ou <0 ou = 0 ne renvoient pas un résultat conforme.
là ou ça devient énervant c'est avec ="" ou <> "". Ma solution perso est de faire des formules qui renvoient "-" au lieu de "" quand il n'y a rien à afficher ou même qui renvoient 0 et on utilise l'option ne pas afficher les valeurs 0 ou un format 0;0;

Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 169
Messages
2 085 914
Membres
103 034
dernier inscrit
Mbeya