Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

somme de sumproduct sur plusieurs sheets

h_de_r

XLDnaute Nouveau
Bonjour à tous

Etant à cours de neurones je vous poste un problème intellectuellement intéressant pour un newbee comme moi.

J'ai 2 sheets qui contiennent dans la colonne A des noms (plus d'un nom par cellule). Dans la colonne B j'ai des valeurs. Dans la colonne C j'ai des starting dates et dans la colonne D des ending dates.

Dans la sheet 3, j'aimerai avoir, pour chacun des noms, la somme des valeurs où une date donnée est avant la ending_date et après la starting_date.

Je pense qu'il faut utiliser quelque chose comme SOMME(SUMPRODUCT(DATE>startingDate)*(DATE<endingDate)*ISNUMBER(SEARCH(MON_NOM;ColonneA)))*Mes Valeurs))
et sommer sur plusieurs sheets...

Est-ce que quelqu'un aurait une idée de génie? Pourquoi ne pas passer par une macro paro exemple...

J'espère que c'est pas trop compliqué... Pour aider à clarifier l'explication, j'ai joint un exemple.

Je vous remercie beacoup pour les aides que vous pourrez m'apporter.

Hub
 

Pièces jointes

  • exemple.xls
    16.5 KB · Affichages: 76
  • exemple.xls
    16.5 KB · Affichages: 74
  • exemple.xls
    16.5 KB · Affichages: 67

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : somme de sumproduct sur plusieurs sheets

Bonsoir,

=SOMMEPROD((ESTNUM(CHERCHE($C7;T(DECALER(INDIRECT("sheet"&{1.2}&"!a4");LIGNE($1:$5)-1;0)))))*
(N(DECALER(INDIRECT("sheet"&{1.2}&"!c4");LIGNE($1:$5)-1;0))<=D$5)*
(N(DECALER(INDIRECT("sheet"&{1.2}&"!d4");LIGNE($1:$5)-1;0))>=D$5)*
(N(DECALER(INDIRECT("sheet"&{1.2}&"!b4");LIGNE($1:$5)-1;0))))

{1.2} représente 2 feuilles
{1.2.3} représente 3 feuilles. Peut être remplacé par Colonne(A:C)


http://boisgontierjacques.free.fr/pages_site/sommeprod3D.htm

JB
 

Pièces jointes

  • Mat3D3conditions.xls
    18 KB · Affichages: 76
Dernière édition:

h_de_r

XLDnaute Nouveau
Re : somme de sumproduct sur plusieurs sheets

Bonjour

Merci pour la réponse qui a l'air de contenir un élément de réponse.
Mais dans la feuille que vous m'avez envoyée, la cellule B7 de sheet1, et la cellule B5 de sheet 2 n'ont pas été prises en compte dans la somme.
En effet, comme sheet1(A7) et sheet2(A5) contiennent le string "A", il faudrait ajouter sheet1(B7) et sheet2(B5) au résultat déjà présent en sheet3(D6). Le résultat en sheet3(D6) deviendrait donc 1+2+5+2+2 = 12.

Et si j'ai bien compris, pourr prendre en compte plus de sheets (par exemple les sheets 2,3,4 et 7) il faut utiliser la synthaxe ("sheet"&{2\3\4\7}&"!a4").

J'ai aussi essayé de rechercher la fonction "T" utilisée dans SEARCH($C6;T(OFFSET(INDIRECT("sheet"&{1\2}&"!a4");ROW($1:$5)-1;0))) mais je ne la voie pas quand je clique sur le petit bouton 'fx'...

Quoi qu'il en soit, merci énormément pour votre aide. Votre réponse montre que c'est faisable, que la solution existe

Hub
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : somme de sumproduct sur plusieurs sheets

Bonjour,

>Mais dans la feuille que vous m'avez envoyée, la cellule B7 de sheet1, et la cellule B5 de sheet 2 n'ont pas été prises en compte dans la somme.

-C'est normal. Date1 est supérieur à 1/1/2010.

-En anglais la fonction T() conserve le même nom.

=SUMPRODUCT((ISNUMBER(SEARCH($C7,T(OFFSET(INDIRECT("sheet"&COLUMN(A:B)&"!a4"),ROW($1:$5)-1,0)))))*
(N(OFFSET(INDIRECT("sheet"&COLUMN(A:B)&"!c4"),ROW($1:$5)-1,0))<=D$5)*
(N(OFFSET(INDIRECT("sheet"&COLUMN(A:B)&"!d4"),ROW($1:$5)-1,0))>=D$5)*
(N(OFFSET(INDIRECT("sheet"&COLUMN(A:B)&"!b4"),ROW($1:$5)-1,0))))

Formules Matricielles 3D

JB
 
Dernière édition:

Discussions similaires

Réponses
2
Affichages
348
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…