Sommeprod avec plusieurs conditions

Bonjour à tous,

J'aurais besoin de votre aide pour une formule Excel.

En gros j'ai un fichier avec 2 onglets. Le premier est une table à plat: chaque ligne est composée d'un objet et un montant associé par mois (jan,fev, etc.).

Le second onglet me permettrait de faire la somme des montants associés à chaque objet chaque mois.

Je peux par exemple retrouver le montant de l'objet A sur le mois de janvier 2010 en faisant un sommeprod dans la cellule B8 de l'onglet 2 pour lequel je ne prends que la plage C4:C8 de l'onglet 1 (plage du mois de janvier). Idem pour les autres objets, ça je sais faire.

Cependant là où je bloque c'est pour introduire le critère du mois dans la formule. Ainsi je voudrais que le calcul se fasse automatiquement sur la bonne plage en fonction du mois choisi en onglet 2 dans la cellule B4.

Auriez-vous des idées pour y parvenir ? D'avance merci !

PS: j'ai joint le fichier d'exemple.

121ex-sommeprod-ok.xls (14.50 Ko)

Bonjour,

=SOMMEPROD(('Onglet 1'!$A$5:$A$8=$A8)*(DECALER('Onglet 1'!$B$5:$B$8;;EQUIV(B$4;'Onglet 1'!$C$4:$N$4))))

Voir fichier.

150ex-sommeprod2.zip (7.80 Ko)

A+

Bonjour et merci beaucoup pour cette aide très rapide !

Par contre c'est ma faute mais je n'ai pas été assez rigoureux dans mon exemple. En effet, je ne voudrais avoir que les résultats d'un mois bien précis dans cet onglet (l'onglet sera exporté et transmis chaque mois): j'avais oublié de mettre une liste déroulante en B4 dans mon exemple pour que les résultats changent en fonction du mois choisi.

J'ai corrigé le fichier d'exemple.

93ex-sommeprod-ok.xls (14.50 Ko)

Cela ne change rien à la formule.

Juste une précision, les cellules du tableau de l'onglet 1 ne doivent pas contenir de texte.

Exemple : la cellule D5 contient le caractère - , soit tu la laisses vide, soit tu la mets à 0.

A+

Oui effectivement, au temps pour moi !

Je ne connaissais pas cette formule Décaler, c'est pratique. J'ai appliqué ta solution dans mon fichier de travail et ça fonctionne parfaitement.

Encore merci !

DECALER permet de décaler la plage de recherche en fonction du contenu de B4.

Par exemple pour février on décale la plage B5:B8 de 2 colonne vers la droite.

Et en me relisant, je me dis que la formule peut être simplifiée en utilisant MOIS à la place de EQUIV.

=SOMMEPROD(('Onglet 1'!$A$5:$A$8=$A8)*(DECALER('Onglet 1'!$B$5:$B$8;;MOIS(B$4))))

A+

Bonjour,

On peut aussi le faire avec une formule matricielle, pour ceux - comme moi - que sommeprod effraie.

J'ai rajouté une liste déroulante dont la liste qui l'alimente est dans l'onglet validation.

98ex-sommeprod.xls (16.50 Ko)

Bonsoir,

Ci-joint fichier avec autre formule matricielle sans fonction décaler (à partir du fichier de Gauguin)

=SOMME(($B$5:$M$8)*(A21=objet)*(mois_choisi=$B$4:$M$4))

à valider avec Maj+Ctrl+Entrée

capture d ecran 2019 08 19 a 12 09 32 2
121ex-sommeprod.xls (17.00 Ko)

Bonjour et merci à tous !

Effectivement la fonction matricielle semble très pratique mais je ne savais pas l'utiliser

capture d ecran 2019 09 11 a 13 43 34
Rechercher des sujets similaires à "sommeprod conditions"