Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

sommeprod formule matricielle et fonction trouve

2 réponses
Avatar
bobj
Bonjour,

sous excel 2010 et versions antérieure, la fonction SOMMEPROD ne semble
pas se comporter correctement avec la fonction TROUVE (ou CHERCHE)

Soit en A1:C6
1 bob 10
2 bobette 21
3 toto 32
1 bil 43
1 abobette 54
3 titi 60

E1=bob
e2=1

Sous Libre Office, les fonctions suivante donnent le même résultat
(correct) à savoir "64"
=SOMMEPROD((A1:A6=$E$2)*(C1:C6)*(SI(ESTERREUR(TROUVE($E$1;B1:B6));0;1)))
{=SOMME((A1:A6=$E$2)*(C1:C6)*(SI(ESTERREUR(TROUVE($E$1;B1:B6));0;1)))}

Sous Excel,
=SOMMEPROD((A1:A6=$E$2)*(C1:C6)*(SI(ESTERREUR(TROUVE($E$1;B1:B6));0;1)))
donne 107 (la clause sur la recherche de chaine est toujours considérée
comme égale à 1...)

mais
{=SOMME((A1:A6=$E$2)*(C1:C6)*(SI(ESTERREUR(TROUVE($E$1;B1:B6));0;1)))}
fonctionne correctelebt

Y a il une explication logique à ce problème existe t-il une liste des
fonctions qui ne sont pas "compatibles" avec sommeprod sous excel

Note : dans les exemple, SI(ESTERREUR(... est utilisé au lieu de
SIERREUR(... pour une compatibilité avec les anciennes versions)

Merci,

2 réponses

Avatar
Michd
Bonjour,
Pour Excel :
Dans cette formule :
=SOMMEPROD((A1:A6=$E$2)*(C1:C6)*(SI(ESTERREUR(TROUVE($E$1;B1:B6));0;1)))
Cette section est trouble :
SI(ESTERREUR(TROUVE($E$1;B1:B6));0;1)
Cet élément de l'ensemble est possible seulement dans le cas d'une formule
matricielle recevant une validation matricielle. Pour preuve, si tu valides
l'ensemble de la formule par Ctrl + Maj + Enter, tu auras le même résultat
que l'autre formule utilisant Somme.
Au lieu d'utiliser un SI, transforme ta formule comme ceci :
=SOMMEPROD((A1:A6=$E$2)*(C1:C6)*(ESTNUM(TROUVE($E$1;B1:B6))))
Et là, le résultat est bon.
Comme je n'ai jamais ouvert "Libre Office" je m'abstiendrai de faire un
commentaire.
MichD
,
Avatar
bobj
Bonjour,
Merci pour l'astuce. Du coup cela aurait aussi fonctionné avec
"NON(ESTERREUR(...."
En fait c'est le "SI" qui n'est pas compatible avec SOMMEPROD sous Excel.
La question est pourquoi (je suis bien conscient qu'il toujours possible
de reproduire l'équivalent d'un SI avec les éléments à l'intérieur du
SOMMEPROD mais pas forcément avec la même lisibilité)
Y aurait-il d'autres fonctions concernées par cette incompatibilité.
L'idée de fond et de bien prendre en compte les fonctions qui ne
fonctionnent pas de la même façon sous Excel et sou LibreOffice (afin de
les éviter si possible).
L'idée de l'utilisation du SOMMEPROD est de pouvoir éviter la validation
Ctrl+Maj+Enter (et je suis par ailleurs surpris que sommeprod puisse
avoir un résultat différent suivant le type de validation sous Excel. Ce
n'est pas le cas (de mon expérience) sous LibreOffice)
Ces premiers éléments sont instructifs.
Merci,
Le 17/02/2018 à 14:00, Michd a écrit :
Bonjour,
Pour Excel :
Dans cette formule :
=SOMMEPROD((A1:A6=$E$2)*(C1:C6)*(SI(ESTERREUR(TROUVE($E$1;B1:B6));0;1)))
Cette section est trouble :
SI(ESTERREUR(TROUVE($E$1;B1:B6));0;1)
Cet élément de l'ensemble est possible seulement dans le cas  d'une
formule matricielle recevant une validation matricielle. Pour preuve, si
tu valides l'ensemble de la formule par Ctrl + Maj + Enter, tu auras le
même résultat que l'autre formule utilisant Somme.
Au lieu d'utiliser un SI, transforme ta formule comme ceci :
=SOMMEPROD((A1:A6=$E$2)*(C1:C6)*(ESTNUM(TROUVE($E$1;B1:B6))))
Et là, le résultat est bon.
Comme je n'ai jamais ouvert "Libre Office" je m'abstiendrai de faire un
commentaire.
MichD
,