Sommeprod et condition (ou) sur deux colonnes

Résolu/Fermé
Signaler
-
 jessaie -
Bonjour,
Je cherche a utiliser sommeprod en réalisant deux conditions (OU) sur deux colonnes, je n'y arrive pas, sommeprod affiche un résultat, mais il est faux...

Exemple :
3 colonnes (A,B et C)
CODE;COULEUR;VALEUR
A;Bleu;100
A;Rouge;200
B;Bleu;300

Faire la somme des valeurs pour le code A OU de la couleur Bleu.

Voici ma fonction :
=SOMMEPROD((A2:A4="A")+(B2:B4="Bleu")*(C2:C4))
Le résultat est de 402 ???

Si j'essaie celle-ci :
=SOMMEPROD((A2:A4="A")+(B2:B4="Bleu");(C2:C4))
Le résultat est de 700 ???

Quelqu'un pourrait-il m'éclairer ?

Merci

7 réponses

Messages postés
17714
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
8 décembre 2021
4 862
Salut,

Tu dis la somme de A ou Bleu, c'est pas possible, les deux conditions sont remplit, par contre A et Bleu pas de problème, dans tes exemples tu donnes deux résultats, mais quel résultat espères tu

A+
Oui A et Bleu pas de problème,
Je devrais avoir 600 (100 car A et Bleu ; 200 car A ; et 300 car Bleu).
Cela t'éclaire t-il ?
Messages postés
17714
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
8 décembre 2021
4 862
Re,

Regardes si cette formule te convient, je vais la réduire

=SOMMEPROD((A1:A11="A")*(B1:B11="Bleu")*(C1:C11))+SOMMEPROD((A1:A11="A")*(B1:B11<>"Bleu")*(C1:C11))+SOMMEPROD((A1:A11<>"A")*(B1:B11="Bleu")*(C1:C11))

A+
Je te remercie, j'avais trouver une autre solution
=SOMMEPROD((A2:A9="A")*(C2:C9)+(B2:B9="Bleu")*(C2:C9))-SOMMEPROD((A2:A9="A")*(B2:B9="Bleu")*(C2:C9))

On peut facilement poser un OU sur la même colonne, mais visiblement sur deux colonnes c'est autre chose.
Messages postés
24222
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
29 novembre 2021
6 983
Bonsoir,

tu as celle-ci aussi, un peu plus courte :
=SOMMEPROD((((A2:A4="A")+(B2:B4="Bleu"))>0)*(C2:C4))

eric
Merci encore Eric,
Mais je ne comprends pas la subtilité du >0 ???
Pourrais-tu m'éclaircir ?
Merci
Messages postés
907
Date d'inscription
mardi 19 août 2008
Statut
Contributeur
Dernière intervention
8 décembre 2009
242
Bonjour à tous

tu cherches l'un ou l'autre, mais si les 2 conditions sont remplies en colonne A tu trouves A et en colonne B tu trouves Bleu alors ca te donne 1 + 1 * colonne c, alors que tu ne veux que la colonne C. et comme tu n'as pas de () pour séparer tes calculs, ça te donnes : c * 1 + 1, si tu avais des () ça te donnerait c * (1 + 1) soit c * 2
dans un test ou avec 2 critères tu trouves comme résultat possibles :
0 + 0
1 + 0
0 + 1
1 + 1
pour régler le 4ème cas, il faut tester si la somme est > 0 si oui tu as 1 si non 0
Messages postés
24222
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
29 novembre 2021
6 983
Bonjour tout le monde,

Voilà, c'est ce que je voulais dire.
Pour excel VRAI+VRAI n'est pas égal à VRAI mais à 2, ce qu'on élimine avec le >0
{2;1;1}>0 donne {VRAI;VRAI;VRAI} qui est interprété en {1;1;1} lors de la *
eric
Messages postés
17714
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
8 décembre 2021
4 862
Salut tout le monde,

Moi il m’épate, il m’épate, il m’épate c’est Eriiic là

Bonne soirée à tous
Messages postés
24222
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
29 novembre 2021
6 983
Merci ;-)
Pour analyser ces problèmes là je te conseille d'utiliser l'évaluation des parties de formules.
Tu sélectionnes la partie de la formule qui t'interesse et tu fais F9, excel évalue cette partie. C'est bien pratique surtout lorsqu'il y a du matriciel comme dans sommeprod().
Tu as aussi 'outils / audit de formule / evalution de formule' où tu peux voir l'évolution du résultat étape par étape.
eric
Merci Eric, merci Wielfrid.
C'est nickel !