Sommeprod et condition (ou) sur deux colonnes

Résolu/Fermé
jessaie - 25 mars 2009 à 20:23
 jessaie - 29 mars 2009 à 16:35
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

Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 078
25 mars 2009 à 20:40
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+
0
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 ?
0
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 078
25 mars 2009 à 22:17
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+
0
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.
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 215
25 mars 2009 à 23:14
Bonsoir,

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

eric
0
Merci
0
Merci encore Eric,
Mais je ne comprends pas la subtilité du >0 ???
Pourrais-tu m'éclaircir ?
Merci
0
wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 243
26 mars 2009 à 05:14
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 215
26 mars 2009 à 18:59
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
0
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 078
26 mars 2009 à 21:25
Salut tout le monde,

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

Bonne soirée à tous
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 215
26 mars 2009 à 23:32
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
0
Merci Eric, merci Wielfrid.
C'est nickel !
0