OVH Cloud OVH Cloud

Syntaxe de Sommeprod

14 réponses
Avatar
Patrick BASTARD
Bonjour à tous.

Je sais qu'il existe, terré dans ce MPFE sous des apparences respectables,
une chapelle des adepte de SOMMEPROD.

Une recherche dans l'aide de Excel ne m'a pas apporté la Lumière.

Si l'un des gourous de cette secte s'était déjà remis des agapes de cette
nuit, je lui serais reconnaissant de bien vouloir m'expliquer les -- dans
cette formule :

=SUMPRODUCT(--(B5:B1953=101),--(C5:C1953=7)*(D5:D1953))

En toute amitié,

Patrick.

Ps : Aucun caractère d'urgence, c'est simplement pour accroître mes
connaissances.

10 réponses

1 2
Avatar
AV
nuit, je lui serais reconnaissant de bien vouloir m'expliquer les -- dans
cette formule :

=SUMPRODUCT(--(B5:B19531),--(C5:C1953=7)*(D5:D1953))


Il s'agit d'une "opération" servant à tranformer les matrices des VRAI/FAUX
(texte) renvoyées par les tests logiques B5:B19531 et C5:C1953=7 en matrices
de 1/0 (numérique) nécessaires aux calculs
Toute "opération neutre" du style *1 ou /1 ou +0 ou tout ce que l'on veut, aura
le même effet

AV pour la SPA

Avatar
Patrick BASTARD
Merci, Alain.
;-)

Patrick.



=SUMPRODUCT(--(B5:B19531),--(C5:C1953=7)*(D5:D1953))


Il s'agit d'une "opération" servant à tranformer les matrices des
VRAI/FAUX (texte) renvoyées par les tests logiques B5:B19531 et
C5:C1953=7 en matrices de 1/0 (numérique) nécessaires aux calculs
Toute "opération neutre" du style *1 ou /1 ou +0 ou tout ce que l'on
veut, aura le même effet

AV pour la SPA



Avatar
Bob Phillips
"AV" wrote in message
news:elaugH$
nuit, je lui serais reconnaissant de bien vouloir m'expliquer les --
dans


cette formule :

=SUMPRODUCT(--(B5:B19531),--(C5:C1953=7)*(D5:D1953))



il transforme des valeurs de True/False en 1/0, pour la multiplication de
matrice

Il s'agit d'une "opération" servant à tranformer les matrices des
VRAI/FAUX

(texte) renvoyées par les tests logiques B5:B19531 et C5:C1953=7 en
matrices

de 1/0 (numérique) nécessaires aux calculs
Toute "opération neutre" du style *1 ou /1 ou +0 ou tout ce que l'on veut,
aura

le même effet


Pas toujours, parfois -- ne travaillera pas

Voyez http://www.xldynamic.com/source/xld.SUMPRODUCT.html (en anglais)


Avatar
Daniel.M
Bonjour Patrick,



nuit, je lui serais reconnaissant de bien vouloir m'expliquer les -- dans
cette formule :

=SUMPRODUCT(--(B5:B19531),--(C5:C1953=7)*(D5:D1953))



Alain t'a déjà répondu mais j'ai juste un commentaire sur cette formulation: tu
perds les bénéfices de pouvoir traiter efficacement (i.e. ignorer) les entrées
textes lorsque tu multiplies sa plage avec un booléen.

Il me paraît plus prudent (généralisable) de faire:
1.
=SUMPRODUCT(--(B5:B19531),--(C5:C1953=7),D5:D1953)
ou
2.
=SUMPRODUCT((B5:B19531)*(C5:C1953=7),D5:D1953)

En d'autres mots, séparer les conditions booléennes (qui peuvent être
elles-mêmes séparées, voir 1.) de la plage à sommer (D5:Dx).

Salutations,

Daniel M.

Avatar
Patrick BASTARD
Merci, Daniel

Et bonne année.

Bien cordialement,

Patrick.



Alain t'a déjà répondu mais j'ai juste un commentaire sur cette
formulation: tu perds les bénéfices de pouvoir traiter efficacement
(i.e. ignorer) les entrées textes lorsque tu multiplies sa plage avec
un booléen.

Il me paraît plus prudent (généralisable) de faire:
1.
=SUMPRODUCT(--(B5:B19531),--(C5:C1953=7),D5:D1953)
ou
2.
=SUMPRODUCT((B5:B19531)*(C5:C1953=7),D5:D1953)

En d'autres mots, séparer les conditions booléennes (qui peuvent être
elles-mêmes séparées, voir 1.) de la plage à sommer (D5:Dx).


Avatar
Bob Phillips
Daniel,

Je suis d'accord sur ce point. En employant le format 1)
=SOMMEPROD(-- (b5:b19531); -- (c5:c1953=7);d5:d1953)
vous maintenez le format standard de SOMMEPROD (=SOMMEPROD(rng1,rng2)), et
différenciez toujours les conditions booléennes de la plage à sommer, et il
est le plus rapide .

J'emploie seulement * construction quand -- ne travaille pas.

--

HTH

RP
(remove nothere from the email address if mailing direct)


"Daniel.M" wrote in message
news:
Bonjour Patrick,



nuit, je lui serais reconnaissant de bien vouloir m'expliquer les --
dans


cette formule :

=SUMPRODUCT(--(B5:B19531),--(C5:C1953=7)*(D5:D1953))



Alain t'a déjà répondu mais j'ai juste un commentaire sur cette
formulation: tu

perds les bénéfices de pouvoir traiter efficacement (i.e. ignorer) les
entrées

textes lorsque tu multiplies sa plage avec un booléen.

Il me paraît plus prudent (généralisable) de faire:
1.
=SUMPRODUCT(--(B5:B19531),--(C5:C1953=7),D5:D1953)
ou
2.
=SUMPRODUCT((B5:B19531)*(C5:C1953=7),D5:D1953)

En d'autres mots, séparer les conditions booléennes (qui peuvent être
elles-mêmes séparées, voir 1.) de la plage à sommer (D5:Dx).

Salutations,

Daniel M.





Avatar
AV
il transforme des valeurs de True/False en 1/0, pour la multiplication de
matrice


Il me semble que c'est ce que j'ai du dire...

Pas toujours, parfois -- ne travaillera pas


Mais encore ?
Quel rapport avec la question/réponse ?

AV songeur...

Avatar
Bob Phillips
"AV" wrote in message
news:

Il me semble que c'est ce que j'ai du dire...


Dans un autre groupe, Patrick a lu que comme Yes/No, ainsi je l'ai dit
explicitement pour Patrick

Mais encore ?
Quel rapport avec la question/réponse ?


J'ai fait la remarque qui quand vous avez dit '... Toute "opération neutre"
du style *1 ou /1 ou +0 ou tout ce que l'on veut, aura le même effet ...' il
ne fonctionne pas toujours à l'envers .

Vous êtes trop délicat, vous ne voudriez pas rencontrer Harlan :-)

Avatar
AV
Heu.....
J'ai bcp de mal à te comprendre.....

Dans un autre groupe, Patrick a lu que comme Yes/No, ainsi je l'ai dit
explicitement pour Patrick
** J'entrave que dalle !


...' il ne fonctionne pas toujours à l'envers .
** J'y pige que couic !


Vous êtes trop délicat, vous ne voudriez pas rencontrer Harlan :-)
** C'est qui celui là ?


Je pense que le français n'est pas ta langue natale.. (ce qui est tout à ton
honneur)
Me tromp'je ?

AV

Avatar
Pierre CFI [mvp]
c'est pas du breton, j'aurais compris, de l'Angevin ? non, à part chez thierry et chez moi, il n'y a pas de PC ailleurs :o)

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"AV" a écrit dans le message de news:
Heu.....
J'ai bcp de mal à te comprendre.....

Dans un autre groupe, Patrick a lu que comme Yes/No, ainsi je l'ai dit
explicitement pour Patrick
** J'entrave que dalle !


...' il ne fonctionne pas toujours à l'envers .
** J'y pige que couic !


Vous êtes trop délicat, vous ne voudriez pas rencontrer Harlan :-)
** C'est qui celui là ?


Je pense que le français n'est pas ta langue natale.. (ce qui est tout à ton
honneur)
Me tromp'je ?

AV





1 2