Fonction sommeprod

thomas83400

XLDnaute Nouveau
Bonjour je souhaiterais faire une somme des produits "01254HF" et "01254HL" avec les quantités qui correspondent pour la S08 par exemple et que les valeurs se reportent automatiquement dans l'onglet "tableau de bord" dans la case D6 ou D7 en fonction de la semaine

J'ai essayé avec les fonctions somme prod ou somme.si.ens sans résultat jusqu'à maintenant

Merci d'avance
 

Fichiers joints

thomas83400

XLDnaute Nouveau
Merci pour ta réponse mapomme !
"=SOMMEPROD((((INDIRECT(A6 & "!A1:A999")=$L$7)+(INDIRECT(A6 & "!A1:A999")=$M$7))>0)" pour ma culture, je ne comprend juste pas l'intérêt du ">0" à la fin de la formule ?

Est-il possible de faire la même chose pour la colonne F6, F7 etc .. en allant chercher les références contenant les trois lettres "RCT" dans leurs désignation (colonne A des onglets des semaines)

Merci d'avance
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,
(...) pour ma culture, je ne comprend juste pas l'intérêt du ">0" à la fin de la formule ?
la formule exacte est :
VB:
SOMMEPROD((((INDIRECT(A6 & "!A1:A999")=$L$7)+(INDIRECT(A6 & "!A1:A999")=$M$7))>0)*(INDIRECT(A6 & "!c1:c999")))
La condition à vérifier est que les cellules de la colonnes A soient égales à $L$7 ou bien soient égales à $M$7.
Cela s'écrit INDIRECT(A6 & "!A1:A999")=$L$7) ou (INDIRECT(A6 & "!A1:A999")=$M$7)
Comment traduire ce OU dans une formule logique convertie en nombre ?
Cela se fait par l'opérateur + :
  • Excel transforme FAUX + FAUX en 0+0 soit 0
  • Excel transforme FAUX + VRAI en 0+1 soit 1
  • Excel transforme VRAI + FAUX en 1+0 soit 1
  • Excel transforme VRAI + VRAI en 1+1 soit 2
On voit donc que dès qu'une des deux conditions est vérifiée (ou les deux) la somme est supérieure à 0. Ce qui s'écrit:
(((INDIRECT(A6 & "!A1:A999")=$L$7)+(INDIRECT(A6 & "!A1:A999")=$M$7))>0)

En réalité, dans notre cas, on ne peut pas avoir l'expression égale à 2 (une cellule ne peut pas être égale à deux valeurs différentes à la fois). On s'en fiche un peu. Il suffit pour nous que l'expression soit supérieure à zéro.

Est-il possible de faire la même chose pour la colonne F6, F7 etc .. en allant chercher les références contenant les trois lettres "RCT" dans leurs désignation (colonne A des onglets des semaines)
Oui. Utilisez la formule suivante en F6 à recopier vers le bas:
VB:
=SOMMEPROD(--ESTNUM(CHERCHE(F$4;INDIRECT(A6&"!a1:a999")))*(INDIRECT(A6&"!c1:c999")))
 

thomas83400

XLDnaute Nouveau
Re,

la formule exacte est :
VB:
SOMMEPROD((((INDIRECT(A6 & "!A1:A999")=$L$7)+(INDIRECT(A6 & "!A1:A999")=$M$7))>0)*(INDIRECT(A6 & "!c1:c999")))
La condition à vérifier est que les cellules de la colonnes A soient égales à $L$7 ou bien soient égales à $M$7.
Cela s'écrit INDIRECT(A6 & "!A1:A999")=$L$7) ou (INDIRECT(A6 & "!A1:A999")=$M$7)
Comment traduire ce OU dans une formule logique convertie en nombre ?
Cela se fait par l'opérateur + :
  • Excel transforme FAUX + FAUX en 0+0 soit 0
  • Excel transforme FAUX + VRAI en 0+1 soit 1
  • Excel transforme VRAI + FAUX en 1+0 soit 1
  • Excel transforme VRAI + VRAI en 1+1 soit 2
On voit donc que dès qu'une des deux conditions est vérifiée (ou les deux) la somme est supérieure à 0. Ce qui s'écrit:
(((INDIRECT(A6 & "!A1:A999")=$L$7)+(INDIRECT(A6 & "!A1:A999")=$M$7))>0)

En réalité, dans notre cas, on ne peut pas avoir l'expression égale à 2 (une cellule ne peut pas être égale à deux valeurs différentes à la fois). On s'en fiche un peu. Il suffit pour nous que l'expression soit supérieure à zéro.


Oui. Utilisez la formule suivante en F6 à recopier vers le bas:
VB:
=SOMMEPROD(--ESTNUM(CHERCHE(F$4;INDIRECT(A6&"!a1:a999")))*(INDIRECT(A6&"!c1:c999")))
Je souhaite faire la même avec trois valeur à rechercher j'ai donc écrit : =SOMMEPROD((((INDIRECT(A7&"!A1:A999")=$O$7)+(INDIRECT(A7&"!A1:A999")=$O$8))>0)+INDIRECT(A7&"!A1:A999")=$O$9)*(INDIRECT(A7&"!c1:c999"))

dans ce cas la cellule O9 est une autre référence. Cependant la formule ne fonctionne pas
 

thomas83400

XLDnaute Nouveau
Je souhaite faire la même avec trois valeur à rechercher j'ai donc écrit : =SOMMEPROD((((INDIRECT(A7&"!A1:A999")=$O$7)+(INDIRECT(A7&"!A1:A999")=$O$8))>0)+INDIRECT(A7&"!A1:A999")=$O$9)*(INDIRECT(A7&"!c1:c999"))

dans ce cas la cellule O9 est une autre référence. Cependant la formule ne fonctionne pas
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Je trouve 4 au lieu de 3
VB:
=SOMMEPROD(ESTNUM(CHERCHE("*"&$O$7:$Q$7&"*";INDIRECT(A7&"!A1:A75")))*(INDIRECT(A7&"!c1:c75")))
JHA
 

Fichiers joints

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas