Rechercher la valeur la plus proche de .. [Résolu/Fermé]

Signaler
-
Messages postés
53597
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
9 avril 2021
-
Bonjour,

Bonjour,
Al'aide!
je cherche la valeur la plus proche du nombre E10=41.3
parmi la liste: A1:A20

90
86.85
83.7
80.55
77.4
74.25
71.1
67.95
64.8
61.65
58.5
55.35
52.2
49.05
45.9
42.75
39.6
36.45
33.3
30.15

la formule excel à taper doit normalement renvoyé la valeur 42.75
j'ai essayé ce-ci (RECHERCHEV(E10;(A1:A20);1;VRAI)) mais le réultat est #N/A

4 réponses


Je ne vous pas trop comment fonctionne la fonction "RECHERCHEV" ...
mais tu ne pourrais pas t'en sortir plus facilement autrement ?
Chercher la valeur la plus proche, c'est chercher la plus petite différence (entre deux nombres). Ou plutot la valeur absolue de cette différence.

Donc tu pourrais peu etre t'en sortir avec qqch comme :
MIN(ABS(E10-A1))
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
53597
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
9 avril 2021
15 635
Bonjour hashad.

Ta demande comporte plusieurs anomalies.

- D'abord ta liste est en ordre décroissant, ce qui ne facilite pas les recherches automatiques.

- Ensuite tu utilises le point comme séparateur décimal à la place de la virgule, ce qui me fait craindre que tu aies une liste de mots (format TEXTE) et pas de valeurs numériques (format NOMBRE).

- Enfin la fonction RECHERCHEV a besoin d'au moins 2 colonnes pour fonctionner, or tu n'en as qu'une seule !

As-tu des précisions à fournir ?
Messages postés
16430
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
9 avril 2021
3 160
Bonjour à tous

Si tes données sont des nombres (avec virgule) comme le fait remarquer RP

=INDEX(A1:A1000;EQUIV(MIN(ABS(E10-(A1:A20)));ABS(E10-A1:A20);0))

formule matricielle à valider par Ctrl+mal+entree (et non "entree" comme d'hab), le curseur clignotant dans la barre de formule
Messages postés
53597
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
9 avril 2021
15 635
En m'appuyant sur la suggestion de nnj99, je propose ceci :

1) Remplacer les points par des virgules (sauf si le point a été choisi comme séparateur décimal dans les options régionales).

2) Insérer une colonne avant l'actuelle colonne A:A.

3) Dans les nouvelles cellules A1 à A20 mettre la formule =ABS(B:B-$D$10) ; on obtient la liste 48,7 - 45,55 - 42,4 ... 1,45 - 1,7 - 4,85 - 8 - 11,15.

4) En D10 saisir la valeur à comparer (41,3 dans notre exemple) et en E10 écrire la formule =RECHERCHEV(MIN(A1:A20);A1:B20;2;FAUX) : On obtient bien 42,75 !

https://www.cjoint.com/?hAq60agyOT
Merci à vous tous
Bonjour Raymond
Xcusé moi, mais
je t'ai pas suivis pour : mettre dans A1 à A20 la formule =ABS(B:B-$D$10)
que represente $D$10
sinon le reste c Ok
Cdlt
Messages postés
53597
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
9 avril 2021
15 635
Voir mon 4)

Les caractères $ évitent que D10 ne devienne D11 quand tu recopies la formule de A1 vers A2 ...
ca marche
Merci Raymond
Messages postés
53597
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
9 avril 2021
15 635
à ta disposition !