Somme du produit de 2 colonnes avec condition

[Fermé]
Signaler
-
 liah-x59 -
Bonjour,

Je bloque un peu sur excel... Je voudrais faire la somme du produit de 2 colonnes si une condition est remplie.

:-/

Donnons un exemple simple:

______________Colonne A________Colonne B
Ligne 1____________1_______________2
Ligne 2____________2_______________2
Ligne 3____________1_______________4
Ligne 4____________2_______________1
Ligne 5____________2_______________5


Je voudrais la chose suivante: Pour chaque ligne, vérifier si la colonne A=2. Auquel cas, multiplier A*B. Faire la somme de tous ces produits.

Dans l'exemple, cela nous donnerais A2*B2 + A4*B4 + A5*B5

Bien sûr, je pourrais y parvenir facilement en faisant une colonne supplémentaire SI(A1=2;A1*B1;0), mais cela démultiplie très rapidement le nombre de colonnes utilisées. Je voulais donc savoir s'il y a possibilité de ne pas créer cette colonne et d'obtenir directement le résultat.

Merci d'avance!!! :-)

7 réponses

Messages postés
24197
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 octobre 2021
6 924
Bonjour,

=SOMMEPROD((A1:A5=2)*(A1:A5)*(B1:B5))
eric
9
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

mince, je cherchais qqch avec SOMMEPROD mais je ne trouvais rien... j'aurais appris qqch comme ça...
Hello,

voici une solution bête et méchante... en utilisant la formule SI que tu as déjà créer, tu pourrais l'imbriquer dans une fonction somme :

=SOMME(SI(A1=2;A1*B1;0);SI(A2=2;A2*B2;0))

ce qui devient vite long et pénible à faire... surtout que les formules excel sont limitées à une certaine longueur...

tu peux également reprendre ton idée de base en créant une colone supplémentaire, mais en la cachant, clique droite sur l'entête de la colone puis hide (g une version anglaise de excel, je ne sais pas s'ils ont traduit pas cacher).

++

Sims'
Je viens d'essayer la formule,

=SOMME(SI(A1=2;A1*B1;0);SI(A2=2;A2*B2;0))

mais elle ne fonctionne pas... :/

Le résultat ne semble correspondre à rien...
> Garulf0
Bizzare, chez moi elle fonctionne...

voici mes données :

1 2
2 3
3 4
4 5
2 6
3 7
4 8

et ma formule :

=SUM(IF(A1=2;A1*B1;0);IF(A2=2;A2*B2;0);IF(A3=2;A3*B3;0);IF(A4=2;A4*B4;0);IF(A5=2;A5*B5;0);IF(A6=2;A6*B6;0);IF(A7=2;A7*B7;0))

Résultat : 18 qui est correct car 2*3+2*6
> Sims'
je pense que tu l'as fait, mais dans la somme il faut ajouter un if pour chaque ligne...
> Sims'
Je viens de comprendre...

Effectivement, je ne l'ai fait que pour la première et la dernière ligne... Je pensais qu'il comprendrais tout seul qu'il faut faire de même pour les lignes entre... :/

Bon... Je vais m'en contenter, mais ça va être très fastidieux... (30 lignes!!!)

Si quelqu'un connaît une autre solution...

Merci à toi Sims,
et Merci d'avance aux autres! :)
Messages postés
3288
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
2 mars 2016
306
Sinon j'ai toujours la solution de la macro mais qui inclus un clic pr faire les calcul :/
sinon je pense que celle qui t'as ete propose est la meilleure ;)
Ou alors l'autre solution plus simple...

tu fais simplement ton SI en stockant le résultat dans une 3ème colonne, ensuite tu fais la somme de cette nouvelle colonne et pour finir tu caches la nouvelle colonne en faisant un clique droite dessus > hide...

comme ça tu t'embêtes pas à faire une somme méga compliqué comme je t donné...
je ne peux pas vous aider desole jai cherche pour vous mais je nai rien trouve
Messages postés
3288
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
2 mars 2016
306
Bonjour,

Tu peux tres bien realiser ceci avec une petite macro VBA, mais je ne sais pas si c'est ce que tu souhaite?
Euh... je suis ouvert à toute proposition, mais je ne connais absolumment rien dans ce dommaine...
Excusez-moi pour le double post...

Simplement je n'y met qu'une contrainte, je voudrais que le calcul se fasse en temps réel puisque les valeurs sont ammenées à changer.

J'ai Office 2003.
Messages postés
3288
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
2 mars 2016
306
Disons que faire ce que tu demande a partir d'excel lui meme je ne sais pas si c'est possible...
Apres si tu ouvre ton editeur de macro et que tu creer une macro ca deviens assez simple:)
et a partir de la tu peux orienter tes recherche dans cette direction ;)
Hummm...

Je vais regarder de ce côté là...

En attendant, si d'autres ont une solution interne à EXCEL, your welcome!!! :)

Merci pour tout!
Messages postés
3288
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
2 mars 2016
306
Je precise, le VBA est interne a excel ;)
Il te faudra juste lancer la macro ou lui assigner un raccourci clavier pour la lancer :)