Sommeprod avec min dans excel
lily20
Messages postés
5
Statut
Membre
-
lily20 Messages postés 5 Statut Membre -
lily20 Messages postés 5 Statut Membre -
Bonjour,
J'aimerais trouver le prix le plus petit dans une plage selon un critère.
Voici ma formule:
=SOMMEPROD(MIN((Produits=A7)*(Prix)))
Et le résultat me donne 0.
j'ai même essayé comme ceci et même résultat.
=SOMMEPROD((Produits=A7)*MIN(Prix))
Si je fais la première formule mais avec MAX cela fonctionne très bien mais pas avec MIN. Pourquoi??
J'ai essayé aussi de faire MIN(SI(...)) cela fonctionne mais en matricielle et comme je dois copier la formule sur plus de 460 lignes c'est long à calculer. Je ne veux donc pas le faire en matricielle.
Avez-vous des idées??
Merci
J'aimerais trouver le prix le plus petit dans une plage selon un critère.
Voici ma formule:
=SOMMEPROD(MIN((Produits=A7)*(Prix)))
Et le résultat me donne 0.
j'ai même essayé comme ceci et même résultat.
=SOMMEPROD((Produits=A7)*MIN(Prix))
Si je fais la première formule mais avec MAX cela fonctionne très bien mais pas avec MIN. Pourquoi??
J'ai essayé aussi de faire MIN(SI(...)) cela fonctionne mais en matricielle et comme je dois copier la formule sur plus de 460 lignes c'est long à calculer. Je ne veux donc pas le faire en matricielle.
Avez-vous des idées??
Merci
A voir également:
- Min date excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Nombre de jours entre deux dates excel - Guide
- Si ou excel - Guide
- Maj to min - Guide
5 réponses
bonjour
Si ta colonne A est triée, tu peux utiliser la formule suivante avec le code cherché en I1 (à adapter) :
La formule recherche le code en colonne A,
délimite la plage des codes identiques
puis recherche le prix minimum de la plage en colonne F
Si ta colonne A est triée, tu peux utiliser la formule suivante avec le code cherché en I1 (à adapter) :
=MIN(DECALER($A$1;EQUIV(I1;$A:$A;0)-1;5;SOMME(NB.SI($A:$A;I1));1))
La formule recherche le code en colonne A,
délimite la plage des codes identiques
puis recherche le prix minimum de la plage en colonne F
Bonsoir,
Je ne suis pas sûr que la fonction sommeprod soit utile (à moins que je n'ai pas bien compris votre problème). Je vous propose plutôt une formule du type
=MIN(C7:C16)*RECHERCHEV(MIN(C7:C16);$C$7:$D$16;2;FAUX)
Colonne C contient les données dont on veut le mini et la colonne D contient le prix à multiplier par le mini.
Benj
Je ne suis pas sûr que la fonction sommeprod soit utile (à moins que je n'ai pas bien compris votre problème). Je vous propose plutôt une formule du type
=MIN(C7:C16)*RECHERCHEV(MIN(C7:C16);$C$7:$D$16;2;FAUX)
Colonne C contient les données dont on veut le mini et la colonne D contient le prix à multiplier par le mini.
Benj
Bonjour brochamin,
Je dois faire ma recherche sur la colonne A (qui est le Produit) et trouver le minimum de la colonne F (qui est le Prix) pour le produit à rechercher. Donc si j'ai deux Produit pareil il doit me trouver celui dont de prix est le plus petit.
A B C D E F G
Produits Fournisseur Projet Facture date Prix Coût
HSS6X6X1/4 LEROUX 24-41 94168269 5/janv/08 66.95 $ 1 222.45 $
HSS6X6X1/4 LEROUX 24-41 94168269 6/janv/08 68.95 $ 3 820.17 $
HSS6X6X5/16 LEROUX 24-41 94168269 6/janv/08 66.95 $ 3 001.50 $
HSS5X5X1/2 LEROUX 24-41 94168269 6/janv/08 68.95 $ 1 176.15 $
HSS7X7X5/16 LEROUX 24-41 94168269 7/janv/08 66.95 $ 887.92 $
HSS7X7X1/2 LEROUX 24-41 94168269 7/janv/08 67.95 $ 3 428.76 $
HSS4X4X1/4 LEROUX 24-41 94168269 7/janv/08 66.95 $ 392.38 $
W14X30 PACIFIQUE 24-41 IV-093683 8/janv/08 40.95 $ 614.25 $
W18X35 PACIFIQUE 24-41 IV-093683 8/janv/08 38.50 $ 1 212.75 $
W18X35 PACIFIQUE 24-41 IV-093683 9/janv/08 35.50 $ 1 347.50 $
W12X14 PACIFIQUE 24-41 IV-093683 9/janv/08 42.95 $ 360.78 $
W12X14 PACIFIQUE 24-41 IV-093683 10/janv/08 45.95 $ 300.65 $
Pour le produit W18X35 je veux qu'il me donne le prix 35,50$.
Merci!!
Je dois faire ma recherche sur la colonne A (qui est le Produit) et trouver le minimum de la colonne F (qui est le Prix) pour le produit à rechercher. Donc si j'ai deux Produit pareil il doit me trouver celui dont de prix est le plus petit.
A B C D E F G
Produits Fournisseur Projet Facture date Prix Coût
HSS6X6X1/4 LEROUX 24-41 94168269 5/janv/08 66.95 $ 1 222.45 $
HSS6X6X1/4 LEROUX 24-41 94168269 6/janv/08 68.95 $ 3 820.17 $
HSS6X6X5/16 LEROUX 24-41 94168269 6/janv/08 66.95 $ 3 001.50 $
HSS5X5X1/2 LEROUX 24-41 94168269 6/janv/08 68.95 $ 1 176.15 $
HSS7X7X5/16 LEROUX 24-41 94168269 7/janv/08 66.95 $ 887.92 $
HSS7X7X1/2 LEROUX 24-41 94168269 7/janv/08 67.95 $ 3 428.76 $
HSS4X4X1/4 LEROUX 24-41 94168269 7/janv/08 66.95 $ 392.38 $
W14X30 PACIFIQUE 24-41 IV-093683 8/janv/08 40.95 $ 614.25 $
W18X35 PACIFIQUE 24-41 IV-093683 8/janv/08 38.50 $ 1 212.75 $
W18X35 PACIFIQUE 24-41 IV-093683 9/janv/08 35.50 $ 1 347.50 $
W12X14 PACIFIQUE 24-41 IV-093683 9/janv/08 42.95 $ 360.78 $
W12X14 PACIFIQUE 24-41 IV-093683 10/janv/08 45.95 $ 300.65 $
Pour le produit W18X35 je veux qu'il me donne le prix 35,50$.
Merci!!
Salut,
Si en colonne A tu as les critères à rechercher et les valeur en colonne B
colles cette formule dans une cellule et déclares la en matricelle en surbrillant ta formules dans la barre des formules, Ctrl+shift+Entrée
si tu fais correctement ta formule ressemblera à mon modèle ensuite tu peux l'incrémenter ou la copier sans avoir à la modifier
{=MIN(SI(($A$1:$A$26="prix");$B$1:$B$26))}
A+
Si en colonne A tu as les critères à rechercher et les valeur en colonne B
colles cette formule dans une cellule et déclares la en matricelle en surbrillant ta formules dans la barre des formules, Ctrl+shift+Entrée
si tu fais correctement ta formule ressemblera à mon modèle ensuite tu peux l'incrémenter ou la copier sans avoir à la modifier
{=MIN(SI(($A$1:$A$26="prix");$B$1:$B$26))}
A+
bonjour
à vrai dire je m'en doutais un peu mais je ne vois pas de solution avec les formules et donc je te propose une formule personnalisée à copier dans un module (mode d'emploi éventuel)
Pour appeler la fonction cela fonctionne exactement comme une formule normale et tu peux mettre :
La fonction recherche toutes les valeurs égales au critère de recherche en I1 dans les cellules renseignées de la colonne A et restitue la valeur minimum de la colonne F (décalage de 5).
La fonction permet aussi de retrouver le minimum sur une colonne antérieure :
par exemple, si l'on fait la recherche en colonne D, avec -3 on obtiens la valeur minimum de la colonne A pour le critère cherché.
à vrai dire je m'en doutais un peu mais je ne vois pas de solution avec les formules et donc je te propose une formule personnalisée à copier dans un module (mode d'emploi éventuel)
Public Function mini_val(cherche As String, plage As Range, colonne As Integer)
Dim sel As Range, l As Long
Application.Volatile
mini_val = "": l = 1
Do
Set sel = plage.Find(What:=cherche, _
After:=plage.Cells(l, 1), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If sel Is Nothing Then Exit Function
If sel.Row <= l Then Exit Function
l = sel.Row
If mini_val > sel.Offset(0, colonne).Value _
Or mini_val = "" Then
mini_val = sel.Offset(0, colonne).Value
End If
Loop
End Function
Pour appeler la fonction cela fonctionne exactement comme une formule normale et tu peux mettre :
=mini_val(I1;DECALER($A$1;;;NBVAL($A:$A);1);5)
La fonction recherche toutes les valeurs égales au critère de recherche en I1 dans les cellules renseignées de la colonne A et restitue la valeur minimum de la colonne F (décalage de 5).
La fonction permet aussi de retrouver le minimum sur une colonne antérieure :
par exemple, si l'on fait la recherche en colonne D, avec -3 on obtiens la valeur minimum de la colonne A pour le critère cherché.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ta solution est presque bonne sauf que mes données ne sont pas trié selon le produits.
Donc cela ne fonctionne pas.
Si tu as une autre solution, dis-le moi!!
Merci!!
lily20