Formule SOMMEPROD sur plage filtrée

Bonjour à tous,

Je fais appel aux formulistes,

Fichier explicatif:

https://www.excel-pratique.com/~files/doc2/Collection_Question1.xls

merci pour le coup de pouce

Bonne journée

Claude.

Salut Claude,

Ca pourrait ressembler à ceci :

=SOMMEPROD(SOUS.TOTAL(3;DECALER(A6;LIGNE(A7:A50)-6;))*(E7:E50="B"))

Reste à adapter les critères (ici, j'ai mis B)

@+

Bonjour thibo,

Merci, mais çà ne répond pas vraiment à mon exemple,

la colonne E n'à rien à voir.

J'ai peut-être mal expliqué

le critère principal est en A2 (pays)

Je veux connaitre mon porte-feuilles en fonction de:

1) Pays (colonne A = A2)

2) type (valeur faciale colonne B), ce qui est écrit sur le billet

3) quantité (colonne C)

4) valeur unitaire (colonne G)

Je ne suis même pas sûr qu'on aillent besoin de tenir compte du filtre ?

As-tu tester sur mon fichier ?

Précision:

Coupures; il s'agit de billets de banque (la valeur faciale est donc un type)

c'est + clair ?

merci encore

Claude.

Bonjour Claude

Je veux connaitre mon porte-feuilles en fonction de

Peut-être faudrait-il que tu nous dises le résultat que tu souhaites (qui se trouverait donc en G2 si j'ai bien compris), avec les critères se trouvant dans ton fichier

re,

Effectivement, d'après tes explications, je ne pense pas qu'il faille tenir compte du filtre

D'après ce que je comprends, on ne doit (devrait) pas mélanger les valeurs faciales avec les valeurs en $

Je pense à cette formule :

=SOMMEPROD(($A$7:$A$39=$A$2)*($C$7:$C$39)*($G$7:$G$39))

Ca me parait cependant un peu simple.

Dans l'exemple présent, quelle valeur attendais-tu ?

A te (re)lire

@+

re,

oui, c'est bon, finalement c'est la valeur faciale qui embrouillait !

Fichier avec vérif:

https://www.excel-pratique.com/~files/doc2/Collection_Question1_2.xls

Maintenant qu'on connait le résultat,

si on part avec des Sous.total, (filtre), çà donnerait quoi ?, çà simplifierait ?

sachant que c'est une BD de 1000 lignes environ.

Claude.

re,

Adaptation pour que ça fonctionne avec le filtre :

=SOMMEPROD(SOUS.TOTAL(3;DECALER(A6;LIGNE(A7:A39)-6;))*(C7:C39)*(G7:G39))

Avec le fichier joint, on a des valeurs (en colonne G) que pour Argentina. Pour tester, il faudrait mettre des valeurs pour les autres pays.

@+

re,

Là c'est nickel, testé sur fichier réel,

j'ai eu du mal car il y avait des valeurs en texte dans la colonne "$ US"

ce qui provoquait une erreur

L'avantage de la 2ème formule (avec Sous.total), c'est qu'on a le total si pas de filtrage.

Merci thibo

Amicalement

Claude.

Bonjour,

J'ai cette formule (ci-dessous) qui doit faire SOMMEPROD de valeurs qui sont dans une autre onglet, la formule marche trés bien mais dés que je filtre plus rien ne marche.

Pouvez-vous m'aider svp ? merci d'avance

=SOMMEPROD((Liste!$D:$D=310)*(Liste!$E:$E=Dom_MR_ORG!$H3)*(NBCAR(Liste!$K:$K)=1)*(NON(ESTERREUR(CHERCHE(Liste!$K:$K;Dom_MR_ORG!B$10)))))+SOMMEPROD((Liste!$D:$D=310)*(Liste!$E:$E=Dom_MR_ORG!$H3)*(NBCAR(Liste!$N:$N)=1)*(NON(ESTERREUR(CHERCHE(Liste!$N:$N;Dom_MR_ORG!B$10)))))

38sommeprod.xls (17.50 Ko)

Bonjour,

Réponse au post initial avec tableau croisé dynamique (sans VBA)

Cordialement

Merci Jean-Eric pour votre réponse,

Oui j'avais vu j'ai essayé de l'adapter à ma formule mais rien ne marche.

=SOMMEPROD((SOUS.TOTAL(3;DECALER(Liste!D2;LIGNE(Liste!D2:D438)-1;))*((Liste!$D:$D=310)*(Liste!$E:$E=$H3)*(NBCAR(Liste!$K:$K)=1)*(NON(ESTERREUR(CHERCHE(Liste!$K:$K;$B$10)))))+SOMMEPROD((SOUS.TOTAL(3;DECALER(Liste!D2;LIGNE(Liste!D2:D438)-1;))*(Liste!$D:$D=310)*(Liste!$E:$E=$H3)*(NBCAR(Liste!$N:$N)=1)*(NON(ESTERREUR(CHERCHE(Liste!$N:$N;$B$10))))))))

Rechercher des sujets similaires à "formule sommeprod plage filtree"