Simplification SOMMEPROD (suite)

Bonsoir à nouveau!

15excel-michel.xlsm (12.50 Ko)

Les plages dynamiques que j'avais nommées Essai dans les feuilles 1, 2 et 3 contenaient deux colonnes: Nom et Salaire.

En nommant les plages dynamiques Salaire et Nom des feuilles 1, 2 et 3, je peux éviter la formule INDEX :

=SOMMEPROD((Feuil1!Nom=A2)*Feuil1!Salaire)+SOMMEPROD((Feuil2!Nom=A2)*Feuil2!Salaire)

+SOMMEPROD((Feuil3!Nom=A2)*Feuil3!Salaire)

Plus court mais tout aussi embêtant si j'ai un "grand" nombre de feuilles.

Fichier joint.

Que faire, mon Dieu, que faire?

Serge

Bonjour

Réponse No1

Si tes feuilles sont toutes nommées Feuil1, Feuil2, etc..

=SOMMEPROD(SOMME.SI(INDIRECT("Feuil"&LIGNE(INDIRECT("1:3"))&"!$A$2:$A$100");$A2;INDIRECT("Feuil"&LIGNE(INDIRECT("1:3"))&"!$B$2:$B$100")))

ici, tu as 3 feuilles à totaliser donc "1:3" dans la formule

si tu as de Feuil1 à feuil50, tu utiliseras "1:50"

Cordialement

13excel-michel.xlsm (13.32 Ko)

Bonjour

Réponse no2

Si tes feuilles sont nommées janvier, février, mars, etc

=SOMMEPROD(SOMME.SI(INDIRECT(TEXTE(DATE(2015;{1;2;3;4;5;6;7;8;9;10;11;12};1);"mmmm")&"!A2:A100");$A2;INDIRECT(TEXTE(DATE(2009;{1;2;3;4;5;6;7;8;9;10;11;12};1);"mmmm")&"!B2:B100")))

exemple joint

Cordialement

Bonsoir Mozart,

Génial et même pas besoin de nommer des plages. Tout au plus, remplacer 100 par un nombre plus grand dans $A$2:$A$100 et dans $B$2:$B$100 si le besoin s'en fait sentir. Merci et Vive la musique Excel!

Serge

Bonsoir,

Amadeus, décidément j'en ai encore à apprendre... sur les Sommeprod et autre !!!!

Merci pour cet apprentissage !

@ bientôt

LouReeD

Bonjour Amadéus,

J'ai enfin compris ta formule :

=SOMMEPROD(SOMME.SI(INDIRECT(TEXTE(DATE(2015;1;2;3;4;5;6;7;8;9;10;11;12};1);"mmmm")&"!A2:A100");

$A2;INDIRECT(TEXTE(DATE(2009;{1;2;3;4;5;6;7;8;9;10;11;12};1);"mmmm")&"!B2:B100")))

En remplaçant 2015 et 2009 par 1, elle me semble correcte aussi :

=SOMMEPROD(SOMME.SI(INDIRECT(TEXTE(DATE(1;{1;2;3;4;5;6;7;8;9;10;11;12};1);"mmmm")&"!A2:A100");

$A2; INDIRECT(TEXTE(DATE(1;{1;2;3;4;5;6;7;8;9;10;11;12};1);"mmmm")&"!B2:B100")))

Me trompe-je?

Encore merci pour tes lumières.

Serge Garneau

Bonjour

En remplaçant 2015 et 2009 par 1, elle me semble correcte aussi :

=SOMMEPROD(SOMME.SI(INDIRECT(TEXTE(DATE(1;{1;2;3;4;5;6;7;8;9;10;11;12};1);"mmmm")&"!A2:A100");

$A2; INDIRECT(TEXTE(DATE(1;{1;2;3;4;5;6;7;8;9;10;11;12};1);"mmmm")&"!B2:B100")))

Oui. Le 2015 est d'actualité et facilite la compréhension, l'important étant de mentionner une année entre 1 et 9999 (limites d'Excel)

Ta question prouve que tu es de ceux qui cherchent à savoir. je ne peux que souscrire

Cordialement

Bonsoir,

Je n'y comprends plus rien!!! J'utilise la même formule sur un autre document et ça ne fonctionne plus.

S'cuse de t'embêter avec ça mais j'aimerais bien savoir pourquoi!

Serge Garneau

Bonjour

Excel est impitoyable.

Dès que tu auras supprimé l'espace à la fin de Février, tout rentrera dans l'ordre.

Cordialement

Encore merci, œil de lynx!

Rechercher des sujets similaires à "simplification sommeprod suite"