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
 

Pièces jointes

  • Produits finis 2019.xlsx
    20.3 KB · Affichages: 5

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
 

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
 

Pièces jointes

  • thomas83400- sommeprod- v1(1).xlsx
    21.4 KB · Affichages: 7

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 944
Membres
101 849
dernier inscrit
florentMIG