OVH Cloud OVH Cloud

sommeprod

8 réponses
Avatar
Gilles
Hello à tous,

juste un petit renseignement !!!!!! pour bien comprendre

l'étoile dans cette formule est bien un séparateur d'arguments en quelques
sortes ?????

Exemple 5 : Totaliser les ventes d'un commercial pour un mois donné

=SOMMEPROD((A2:A13="Jules")*(B2:B13="Février")*(C2:C13))



merci beaucoup

Gilles

8 réponses

Avatar
Ribouldingue
Bonjour !

Non, il s'agit bien de multiplications. Cette formule calcule séparément :

(A2="Jules")*(B2="Février")*C2)
(A3="Jules")*(B3="Février")*C3)
...
(A13="Jules")*(B13="Février")*C13)

Tous les résultats de ces produits sont placés dans un tableau (de manière
interne) et ensuite additionnés.

Amicalement,

Ribouldingue


Hello à tous,

juste un petit renseignement !!!!!! pour bien comprendre

l'étoile dans cette formule est bien un séparateur d'arguments en quelques
sortes ?????

Exemple 5 : Totaliser les ventes d'un commercial pour un mois donné

=SOMMEPROD((A2:A13="Jules")*(B2:B13="Février")*(C2:C13))

merci beaucoup

Gilles


Avatar
Vincent.
En fait, le terme (A2="Jules") renvoie 0 ou 1 selon que
l'égalité se vérifie ou non. Et donc, dès qu'une égalité
ne se fait pas, on a un zéro et la ligne n'est pas prise
en compte...

-----Message d'origine-----

Bonjour !

Non, il s'agit bien de multiplications. Cette formule
calcule séparément :


(A2="Jules")*(B2="Février")*C2)
(A3="Jules")*(B3="Février")*C3)
....
(A13="Jules")*(B13="Février")*C13)

Tous les résultats de ces produits sont placés dans un
tableau (de manière

interne) et ensuite additionnés.

Amicalement,

Ribouldingue


Hello à tous,

juste un petit renseignement !!!!!! pour bien comprendre

l'étoile dans cette formule est bien un séparateur
d'arguments en quelques


sortes ?????

Exemple 5 : Totaliser les ventes d'un commercial pour
un mois donné



=SOMMEPROD((A2:A13="Jules")*(B2:B13="Février")*(C2:C13))

merci beaucoup

Gilles
.





Avatar
AV
Exemple 5 : Totaliser les ventes d'un commercial pour un mois donné
=SOMMEPROD((A2:A13="Jules")*(B2:B13="Février")*(C2:C13))
juste un petit renseignement !!!!!! pour bien comprendre
l'étoile dans cette formule est bien un séparateur d'arguments en quelques
sortes ?????


Pas vraiment....
Pour être "académique" et pour une meilleure compréhension, il serait
souhaitable d'écrire la formule comme suit :
=SOMMEPROD((A2:A13="Jules")*(B2:B13="Février");C2:C13)

SP fait la somme du produit des matrices (plages)
Le séparateur d'argument est le point-virgule
Dans l'exemple précédent, il y a 2 matrices :
La 1° est générée par les 2 tests logiques (A2:A13="Jules") et
(B2:B13="Février")
Chacun de ces test, vérifie une égalité et renvoie une matrice (intermédiaire)
de VRAI/FAUX selon que la condition est réalisée ou non
On obtient donc, pour chacun des tests, qques chose qui ressemble à
{VRAI;FAUX;VRAI;FAUX;....}
(A2:A13="Jules")*(B2:B13="Février") renvoie une seule matrice de 1 et de 0 car
chaque élément de la 1° est multiplié par l'élément correspondant de la 2°
Le fait de multiplier la 1° matrice (1° test logique) par la 2°(2° test loqique)
renvoie une seule matrice de 1 et de 0
La formule devient donc (en interne) :
Etape intermédiaire 1
=SOMMEPROD({FAUX;VRAI.....;FAUX}*({VRAI;.....VRAI;FAUX});C2:C13)
Etape intermédiaire 2
=SOMMEPROD({0;0;1....;0;0};C2:C13)
On a bien là, uniquement 2 matrices
En résumé (?)
Le signe * utilisé pour faire le "produit" de 2 tests logiques équivaut au ET
d'un test logique classique !
Le OU serait représenté, dans le même cas de figure par le signe +
Exemple :
Compter le nbre de "Jules" et de"Julie" dans la plage des noms :
=SOMMEPROD((A2:A13="Jules")+(A2:A13="Julie"))
Compter le nbre de "Jules" et de"Julie" au mois de "Février":
=SOMMEPROD(((A2:A13="Jules")+(A2:A13="Julie"))*(B2:B13="Février"))
Les ventes des "Jules" et de"Julie" au mois de "Février":
=SOMMEPROD(((A2:A13="Jules")+(A2:A13="Julie"))*(B2:B13="Février");C2:C13)

A méditer....

AV

Avatar
AV
En fait, le terme (A2="Jules") renvoie 0 ou 1 selon que
l'égalité se vérifie ou non.


Heu... plutôt VRAI ou FAUX

AV

Avatar
Daniel.M
Bonjour Alain,

Pour être "académique" et pour une meilleure compréhension, il serait
souhaitable d'écrire la formule comme suit :
=SOMMEPROD((A2:A13="Jules")*(B2:B13="Février");C2:C13)


Et ainsi, on s'assure d'une réaction adéquate lorsqu'il y a du texte en C2:C13.
Donc, rien que des avantages. :-)
My two cents.

Et je salue ton explication généreuse.

Daniel M.

Avatar
AV
Et ainsi, on s'assure d'une réaction adéquate lorsqu'il y a du texte en
C2:C13.

Donc, rien que des avantages. :-)


J'avais bien noté cet avantage...que je n'ai découvert que sur le tard ! ;-)

AV

Avatar
AV
Mais à moins de n'avoir (encore) rien compris, il me
semblait que VRAI=1 et FAUX=0 dans XL, comme dans les
langages de programmation...


Oui....sous réserve "d'être soumis" à un quelconque calcul !
Ex :
=1>0 --> VRAI
=(1>0)/1 --> 1

AV

Avatar
Modeste
;-)))
sur le tard itou pour moi,
grace à une précédente intervention du "modeste" Daniel
;-)))

@+
-----Message d'origine-----
Et ainsi, on s'assure d'une réaction adéquate lorsqu'il
y a du texte en


C2:C13.
Donc, rien que des avantages. :-)


J'avais bien noté cet avantage...que je n'ai découvert
que sur le tard ! ;-)


AV


.