Sommeprod et condition (ou) sur deux colonnes

Résolu
jessaie -  
 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

Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 
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
jessaie
 
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 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 
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
jessaie
 
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 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonsoir,

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

eric
0
jessaie
 
Merci
0
jessaie
 
Merci encore Eric,
Mais je ne comprends pas la subtilité du >0 ???
Pourrais-tu m'éclaircir ?
Merci
0
wilfried_42 Messages postés 912 Statut Contributeur 245
 
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 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
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 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 
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 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
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
jessaie
 
Merci Eric, merci Wielfrid.
C'est nickel !
0