Excel : quelle fomule pour le minimum hors 0?
JM
-
Mike-31 Messages postés 19571 Statut Contributeur -
Mike-31 Messages postés 19571 Statut Contributeur -
Bonjour,
Je sollicite votre aide pour une formule que je n'arrive pas à trouver ou à adapter sur Excel 2010.
Je souhaite trouver une formule que je pourrais ensuire étendres et qui me donnera la valeur minimale - hors cases vides et nules - parmis un ensemble de données (et pas une plage de données)
Les formules MIN(AK208;AJ208;AI208) et MIN(AK208;AJ208;AI208) ne conviennent pas parcequ'elles prennent en compte les valeurs négatives.
La formule =PETITE.VALEUR($AI208:$AK208;NB.SI($AI208:$AK208;0)+1) ne me permet pas de prendre des valeurs séparées
Voyez-vous une formue qui pourrait répondre a mes besoins? (pas trop compliquée de préférence...
Merci beaucoup
JM
Je sollicite votre aide pour une formule que je n'arrive pas à trouver ou à adapter sur Excel 2010.
Je souhaite trouver une formule que je pourrais ensuire étendres et qui me donnera la valeur minimale - hors cases vides et nules - parmis un ensemble de données (et pas une plage de données)
Les formules MIN(AK208;AJ208;AI208) et MIN(AK208;AJ208;AI208) ne conviennent pas parcequ'elles prennent en compte les valeurs négatives.
La formule =PETITE.VALEUR($AI208:$AK208;NB.SI($AI208:$AK208;0)+1) ne me permet pas de prendre des valeurs séparées
Voyez-vous une formue qui pourrait répondre a mes besoins? (pas trop compliquée de préférence...
Merci beaucoup
JM
A voir également:
- Excel minimum sauf 0
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Numéro de téléphone excel 0 - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
7 réponses
Bonjour,
=MIN(SI(A1<=0;9^9;A1);SI(A2<=0;9^9;A2);SI(A3<=0;9^9;A3))
Pas trouvé plus court pour le moment.
Si tu as des très grandes valeurs augmente 9^9
eric
=MIN(SI(A1<=0;9^9;A1);SI(A2<=0;9^9;A2);SI(A3<=0;9^9;A3))
Pas trouvé plus court pour le moment.
Si tu as des très grandes valeurs augmente 9^9
eric
Bonsoir
on peut faire la même; Eric avec une petite astuce qui élimine la prise en compte d'une limite fixe:
mais tout cela se limite au nombre de cellule à traiter pour que la formule soit raisonnable:
exemple avec A1;B5;C6
=MIN(SI(A1>0;A1,MAX(A1;B5;C6));SI(B5>0;B5;MAX(A1;B5;C6));SI(C6>0;C6;MAX(A1;B5;C6)))
et bien entendu on peut remplacer le MAX(A1;B5;C6) par une adresse de cellule ou o aura placé le MAX en question pour éviter de le répéter
ou plus simplement nommer le résultat maximum MAXI
par exemple nom: MAXI
nommer la formule:
=MAX(A1;B5;C6)
et on aura le résultat avec:
=MIN(SI(A1>0;A1;MAXI);SI(B5>0;B5;MAXI);SI(C6>0;C6;MAXI))
C'est plus simple à écrire
crdlmnt
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
on peut faire la même; Eric avec une petite astuce qui élimine la prise en compte d'une limite fixe:
mais tout cela se limite au nombre de cellule à traiter pour que la formule soit raisonnable:
exemple avec A1;B5;C6
=MIN(SI(A1>0;A1,MAX(A1;B5;C6));SI(B5>0;B5;MAX(A1;B5;C6));SI(C6>0;C6;MAX(A1;B5;C6)))
et bien entendu on peut remplacer le MAX(A1;B5;C6) par une adresse de cellule ou o aura placé le MAX en question pour éviter de le répéter
ou plus simplement nommer le résultat maximum MAXI
par exemple nom: MAXI
nommer la formule:
=MAX(A1;B5;C6)
et on aura le résultat avec:
=MIN(SI(A1>0;A1;MAXI);SI(B5>0;B5;MAXI);SI(C6>0;C6;MAXI))
C'est plus simple à écrire
crdlmnt
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
Salut le fil,
Je ne sais pas si j'ai tout capté, pour isoler la valeur minimum excepté les valeurs négatives et nulles, en formule matricielle je proposerai
=MIN(SI(A1:H1>0;A1:H1))
et pour deux plages non contigües toujours en matricielle
=SI(MIN(SI(A1:H1>0;A1:H1))>MIN(SI(K1:M1>0;K1:M1));MIN(SI(K1:M1>0;K1:M1));MIN(SI(A1:H1>0;A1:H1)))
si le nombre de plage est plus important et qu'une cellule minimum par plage est renseignée, je proposerai de passer par la création de champ dynamique.
activer la cellule ou sera affiché la valeur min et Noms définis/Définir un nom, nommer le premier champ exemple Form1 et coller la formule qui isolera la valeur MIN de la première plage ex. A1 à G1
=MIN(SI(Feuil1!A1:G1>0;Feuil1!A1:G1))
créer un nouveau champ pour traiter les valeurs de la deuxième plage J1 à M1 nommé Form2
avec cette formule
=MIN(SI(Feuil1!J1:M1>0;Feuil1!J1:M1))
puis un troisième champ si besoin ex. pour la plage K5 à M5
avec cette formule
=MIN(SI(Feuil1!K5:M5>0;Feuil1!K5:M5))
etc...
dans la cellule active cette formule
=MIN(Form1;Form2;Form3)
Je ne sais pas si j'ai tout capté, pour isoler la valeur minimum excepté les valeurs négatives et nulles, en formule matricielle je proposerai
=MIN(SI(A1:H1>0;A1:H1))
et pour deux plages non contigües toujours en matricielle
=SI(MIN(SI(A1:H1>0;A1:H1))>MIN(SI(K1:M1>0;K1:M1));MIN(SI(K1:M1>0;K1:M1));MIN(SI(A1:H1>0;A1:H1)))
si le nombre de plage est plus important et qu'une cellule minimum par plage est renseignée, je proposerai de passer par la création de champ dynamique.
activer la cellule ou sera affiché la valeur min et Noms définis/Définir un nom, nommer le premier champ exemple Form1 et coller la formule qui isolera la valeur MIN de la première plage ex. A1 à G1
=MIN(SI(Feuil1!A1:G1>0;Feuil1!A1:G1))
créer un nouveau champ pour traiter les valeurs de la deuxième plage J1 à M1 nommé Form2
avec cette formule
=MIN(SI(Feuil1!J1:M1>0;Feuil1!J1:M1))
puis un troisième champ si besoin ex. pour la plage K5 à M5
avec cette formule
=MIN(SI(Feuil1!K5:M5>0;Feuil1!K5:M5))
etc...
dans la cellule active cette formule
=MIN(Form1;Form2;Form3)
Merci Eric, Mike et Vaucluse pour vos réponse,
Je suis bien tenté par la formule d'Eric qui est assez simple, le seul ennui est qu'elle ne fonctionne plus dans le cas (et j'ai ce cas) où toutes cases sont nules.
La proposition de Vaucluse par contre semble convenir: dans le cas où tous les chiffres sont nuls elle me renvoie 0 et pas un nombre à 9 chiffres alors que je n'ai jamais de valeur qui en dépasse 2.
=MIN(SI(A1>0;A1,MAX(A1;B5;C6));SI(B5>0;B5;MAX(A1;B5;C6));SI(C6>0;C6;MAX(A1;B5;C6)))
Merci de votre aide
Jean-Michel
Je suis bien tenté par la formule d'Eric qui est assez simple, le seul ennui est qu'elle ne fonctionne plus dans le cas (et j'ai ce cas) où toutes cases sont nules.
La proposition de Vaucluse par contre semble convenir: dans le cas où tous les chiffres sont nuls elle me renvoie 0 et pas un nombre à 9 chiffres alors que je n'ai jamais de valeur qui en dépasse 2.
=MIN(SI(A1>0;A1,MAX(A1;B5;C6));SI(B5>0;B5;MAX(A1;B5;C6));SI(C6>0;C6;MAX(A1;B5;C6)))
Merci de votre aide
Jean-Michel
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Finalement je viens de tester la formule sur tout mon tableau, et là ça coince, la formule est bien trop longue. Je cherches encore
Bonjour,
Si c'est parce que tu as un trop grand nombre de cellule c'est peut-être plus simple de rassembler les copies de ces cellules sur une plage unique et de calculer le min de cette plage.
eric
Si c'est parce que tu as un trop grand nombre de cellule c'est peut-être plus simple de rassembler les copies de ces cellules sur une plage unique et de calculer le min de cette plage.
eric