Excel: Trouver la valeur nég. la + proche de0

Résolu/Fermé
Ginkgo - 3 nov. 2009 à 11:06
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 3 nov. 2009 à 14:22
Bonjour,
A B C D E F G
1 Date 1 2 3 4 5 ?
2 Valeur 6 -12 -15 -12 8 ??

J'aimerai faire apparaître en G2 la valeur de la plage(B2:F2) la plus proche du zéro en donnant la priorité au nombre négatif.
Exemple ci dessus: en B2 nous avons 6 qui est le plus proche de 0. Cependant il existe des nombres négatifs donc le résultat est -12.

Ensuite je voudrais afficher en G1 la date correspondante au résultat trouvé en G2.
Une contrainte: en cas de double prendre la plus petite date.
Exemple ci-dessus: pour une valeur de -12, nous trouvons deux dates: 2 et 4. Le bon résultat devant être le plus petit, en G1 le résultat doit être 2.

Quels formules doit on mettre en G1 et G2 ???

Merci pour votre aide

Eric
A voir également:

6 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
3 nov. 2009 à 12:00
Bonjour
ce serait plus facile avec un tableau en colonne plutôt qu'en ligne.
On réfléchi à la deuxième question, pour la première essayez si cela correspond à ce que vous voulez:
=GRANDE.VALEUR(B2:F2;NB.SI(B2:F2;">0")+1)
ca devrait aller
PS pour la 2° question ce serait tout simple avec l'inverse:
les dates en ligne 2 et le Nombres en ligne 1
Dans ce cas,la formule précédente en G1au lieu de G2 est en G2:
=RECHERCHEH(G1;$B$1:$F$2;2;0)

revenez si ça ne convient pas
Crdlmnt
0
Ginkgo56 Messages postés 2 Date d'inscription mardi 3 novembre 2009 Statut Membre Dernière intervention 3 novembre 2009
3 nov. 2009 à 12:19
Merci de participer à mon problème.
Cependant la solution proposée ne fonctionne pas
Si dans la ligne de valeur, il n'y a pas de valeur négative la réponse en G1 est #nombre

Je ne peux pas changer la position du tableau. Il doit tenir sur 2 lignes

Merci
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
3 nov. 2009 à 13:01
Re
Alors essayez
=SI(NB.SI(B2:F2;"<0")=0;PETITE.VALEUR(B2:F2;1);GRANDE.VALEUR(B2:F2;NB.SI(B2:F2;">=0")+1))
nota: cette formule renvoi 0 s'il y en a un dans la liste.
Pour votre seconde question et compte tenu des possibles égalités:
il faudrait que vous puissiez réserver une ligne , (masquable) pour construire ce tableau, pour l'exemple de :
de B1000 à F1000:en B1000, à tirer sur la longueur du champ B à F:
=SI(B2=$G$2;B1;"")
est en G1, la formule:
=MIN(B1000:F1000)
bonne chance
crdlmnt
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
3 nov. 2009 à 13:55
Bonjour GInKgo, Vaucluse

message annulé excusez moi
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ginkgo56 Messages postés 2 Date d'inscription mardi 3 novembre 2009 Statut Membre Dernière intervention 3 novembre 2009
3 nov. 2009 à 13:58
Bravo et Merci

la formule matricielle : "=SI(NB.SI(B2:F2;"<0")=0;PETITE.VALEUR(B2:F2;1);GRANDE.VALEUR(B2:F2;NB.SI(B2:F2;">=0")+1)) "
fonctionne à la perfection !!!
en G1, la formule : "=INDEX(B1:F1;EQUIV(G2;B2:F2;0))" fonctionne dans la mesure où les dates sont rangées dans l'ordre chrono.

Merci Vaucluse
Bonne journée
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
3 nov. 2009 à 14:22
a la bourre mais pour le fun
avec date en désordre
https://www.cjoint.com/?ldouHyW2RR
0