Bonsoir,
en fait la plupart du temps, hors comptabilité, SOMMEPROD est détourné de sa fonction originelle...
Si on traduit la fonction : elle fait la somme des différents produits. SOMMEPROD est une fonction matricielle c'est à dire qu'elle peut travailler sur une plage de cellule et effectuer un produits sur ces lignes et à l'issue elle additionne le résultat de ces différents produits.
Ici on la détourne un peu en créant des "produits" issus de tests logique qui donne soit VRAI, soit FAUX, hors sous Excel, VRAI =1 et FAUX =0.
Donc si vous faites un test sur une plage A1:A10="LouReeD", pour chaque ligne de la plage, le test renverra soit VRAI =1 ou FAUX =0 en fonction de la présence de "LouReeD", ce qui peut donner s'il y a LouReeD inscrit une ligne sur deux le résultat suivant : 1,0,1,0,1,0,1,0,1,0
Ca c'est pour le test, mais SOMMEPROD est avant tout un produit qui sous entend qu'il faut une deuxième valeur pour pouvoir le faire sinon rien = 0 tous les produits seraient à 0 du coup la somme serait à 0, c'est pourquoi sur une conditions simple il faut mettre en deuxième valeur 1
SOMMEPROD( (A1:A10="LouReeD") * (1) ) ce qui donne :
1*1=1
0*1=0
1*1=1
0*1=0
1*1=1
0*1=0
1*1=1
0*1=0
1*1=1
0*1=0
Du coup la somme est égale à 5 !
Si vous aviez deux conditions à tester, il suffirait de modifier le (1) par ce nouveau test, par exemple le nombre de fois où il y a LouReeD ET une valeur en colonne B > 15 => =SOMMEPROD( (A1:A10="LouReeD") * ( B1:B10>15) )
Il en serait de même s'il y avait une troisième condition... etc... Chaque test vérifié = 1, chaque test non vérifié = 0, du coup il n'y aura que VRAI lorsque toutes les tests sont VRAI est VRAI =1 sous Excel... Et la fonction en fait la somme. NB.SI.ENS() fait de même est (je crois) moins lourde pour Excel en utilisation.
En espérant avoir été clair...
@ bientôt
LouReeD