Excel: Trouver la valeur nég. la + proche de0 [Résolu/Fermé]

Signaler
-
Messages postés
16451
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
17 mai 2021
-
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

6 réponses

Messages postés
26034
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
18 mai 2021
5 933
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
Messages postés
2
Date d'inscription
mardi 3 novembre 2009
Statut
Membre
Dernière intervention
3 novembre 2009

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
Messages postés
26034
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
18 mai 2021
5 933
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
Messages postés
16451
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
17 mai 2021
3 172
Bonjour GInKgo, Vaucluse

message annulé excusez moi
Messages postés
2
Date d'inscription
mardi 3 novembre 2009
Statut
Membre
Dernière intervention
3 novembre 2009

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
Messages postés
16451
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
17 mai 2021
3 172
a la bourre mais pour le fun
avec date en désordre
https://www.cjoint.com/?ldouHyW2RR