Valeur la plus proche

Bonjour,

j'ai un tableau (en colonne B) allant de 400 a 2000 avec un pas de 200.

dans une cellule à part (colonne A) j'ai des valeurs allant de 400 à 2000 mais avec un pas de 1;

j'aimerai trouver la valeur la proche en colonne B de ma valeur colonne A.

Que conseillez vous ? VLOOKUP ? j'ai un peu du mal à faire tourner cela, il faut que je l'intègre dans un VBA

merci d'avance pour votre aide

Bonjour,

Si tu as toujours un pas de 200, tu peux utiliser les fonctions PLAFOND ou PLANCHER, selon que tu veuilles arrondir au multiple inférieur ou supérieur.

Il faut lui faire calculer les deux du coup pour qu'il sache si c'est lé supérieur ou l'inférieur qui est le plus proche ?

Merci


j'arrive à les faire tourner effectivement. je connaissais pas, ca peut etre intéressant comme fonction.

Par contre il se peut que parfois mon pas de 200 varie ( 150, 180, ou autres). Y a t'il une fonction pour ce cas là du coup ?

merci

=SI(A1-PLANCHER(A1;200)>100;PLAFOND(A1;200);PLANCHER(A1;200))

ou

=SI(A1<MOYENNE(PLANCHER(A1;200);PLAFOND(A1;200));PLANCHER(A1;200);PLAFOND(A1;200))

J'ai la vague impression que c'est tordu, mais bon.

Après tu peux préciser la valeur du pas dans une cellule et y faire référence plutôt que de la saisir en dur dans la formule. Ou bien le calculer en faisant la différence de 2 valeurs dans ta colonne B.

Hmmm ça ne fonctionne pas vraiment. Je te mets le fichier, ça sera peut etre plus facile si tu as qq minutes pour m'aider.

C'est en sheet 2, colonne M to P (entourée en gras)

En orange la plage de données, en jaune la valeur dont on veut trouver la plus proche ds l'orange, et en bleu la valeur la plus proche.

je ne sais pas si c'est clair ?

=INDEX(N6:N9;MATCH(M4;N6:N9;-1))

j'ai essayé ça, mais ça arrondi en dessous, et pas au plus proche ...

Si la valeur recherchée n'est jamais inférieure à 600 ou supérieure à 1450 :

=SI($M$3<MOYENNE(DECALER(INDEX($N$6:$N$10;EQUIV($M$3;$N$6:$N$10;1));;;2));INDEX($N$6:$N$10;EQUIV($M$3;$N$6:$N$10;1));INDEX($N$6:$N$10;EQUIV($M$3;$N$6:$N$10;1)+1))

Si c'est le cas, si elle est inférieure, on choisit 600, si elle est supérieure, on choisit 1450, sinon même chose :

=SI($M$3<$N$6;$N$6;SI($M$3>$N$10;$N$10;SI($M$3<MOYENNE(DECALER(INDEX($N$6:$N$10;EQUIV($M$3;$N$6:$N$10;1));;;2));INDEX($N$6:$N$10;EQUIV($M$3;$N$6:$N$10;1));INDEX($N$6:$N$10;EQUIV($M$3;$N$6:$N$10;1)+1))))

En sachant que si on cherche 700 par exemple, ça renvoie la valeur supérieure. Pour obtenir l'inférieure, juste remplacer <MOYENNE par <=MOYENNE.

Ça te convient ?

Rechercher des sujets similaires à "valeur proche"