Sommeprod Max: OK SommeProd Min: PAS OK??

vgendron

XLDnaute Barbatruc
Bonjour le forum !
Dans le cadre d'un autre post sur lequel j'interviens, je cherche une solution par formule pour déterminer les moyennes ,max et min d'une colonne selon plusieurs critères

pour le prix moyen pas de souci, mon sommeprod fait bien ce que je souhaite: Colonnes L et O
Code:
(SOMMEPROD((Codes=A3)*(Libelles=$C$1)*Prix))/SOMMEPROD((Codes=A3)*(Libelles=$C$1))

pour le prix max idem Colonnes N et Q
Code:
SOMMEPROD(MAX((Codes=A3)*(Libelles=$C$1)*Prix))

et la, pour calculer le Minimumn je me dis que en remplacant MAX par MIN c'est une évidence comme 2+2=4
Colonnes M et P
Code:
SOMMEPROD(MIN((Codes=A3)*(Libelles=$C$1)*Prix))
et bien NON, je n'ai que des 0 !!!

quelqu'un peut il m'expliquer la subtilité de sommeprod qui m'échappe et qui explique ce souci...
 

Pièces jointes

  • SommeProdMinMax.xlsx
    60.4 KB · Affichages: 44

vgendron

XLDnaute Barbatruc
Re : Sommeprod Max: OK SommeProd Min: PAS OK??

Bon.. je crois avoir mis le doigt dessus..
SommeProd (condition1 et condition2) génère une matrice de Vrai (dans ce cas. j'en récupère le prix) et des FAUX
et le min (Faux) = 0 !!!
la question devient donc.. COmment mixer le Min avec le sommeprod.....
 

Modeste geedee

XLDnaute Barbatruc
Re : Sommeprod Max: OK SommeProd Min: PAS OK??

Bonsour®
:rolleyes:
une matrice de valeurs non nulles :(Prix)
multipliée par une matrice {0;1;0; etc...} (Codes=A3]
comporte alors des valeurs = 0
qui est bien alors le minimum :(

contournement :
=MIN(Prix+(9^9*NON((natureOP=1)*(Libelles=$B3))))
=MAX(Prix*(natureOP=1)*(Libelles=$B3))
validation matricielle : Ctrl+Maj+Entrée

Capture.JPG

pièce jointe avec solution sans macro ni VBA (TCD :cool:)
 

Pièces jointes

  • Capture.JPG
    Capture.JPG
    19 KB · Affichages: 49
  • Capture.JPG
    Capture.JPG
    19 KB · Affichages: 48
  • moyminmax.xlsx
    92.8 KB · Affichages: 46

job75

XLDnaute Barbatruc
Re : Sommeprod Max: OK SommeProd Min: PAS OK??

Bonjour vgendron, salut Modeste geedee,

En colonne N votre SOMMEPROD ne sert qu'à éviter la validation matricielle !!!

Faut pas en avoir peur :) il est plus simple d'écrire en N3 :
Code:
=MAX((Codes=A3)*(Libelles=$C$1)*Prix)
et en M3 :
Code:
=MIN(SI((Codes=A3)*(Libelles=$C$1);Prix))
Les 2 formules sont à valider par Ctrl+Maj+Entrée.

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 238
Messages
2 086 492
Membres
103 234
dernier inscrit
matteo75654548