How to determine the closest value?

E

Eric

Does anyone have any suggestions on how to determine the closeest number?
Example One
There is a list of number under column A
191,189,183,177,175,171,167,165,159,153,151
and there is a given number in cell B1, 154.
I would like to determine the closest number, which match with the number in
cell B1. On above example, it should return 153 in cell C1.

Example Two
There is a list of number under column A
191,189,183,177,175,171,167,165,155,153,151
and there is a given number in cell B1, 154.
I would like to determine the closest number, which match with the number in
cell B1. On above example, if the given number matches two numbers, which the
difference is the same, then it should return 155 in cell C1.
Does anyone have any suggestions?
Thanks in advance for any suggestions
Eric
 
L

Lorne

Eric said:
Does anyone have any suggestions on how to determine the closeest number?
Example One
There is a list of number under column A
191,189,183,177,175,171,167,165,159,153,151
and there is a given number in cell B1, 154.
I would like to determine the closest number, which match with the number
in
cell B1. On above example, it should return 153 in cell C1.

Example Two
There is a list of number under column A
191,189,183,177,175,171,167,165,155,153,151
and there is a given number in cell B1, 154.
I would like to determine the closest number, which match with the number
in
cell B1. On above example, if the given number matches two numbers, which
the
difference is the same, then it should return 155 in cell C1.
Does anyone have any suggestions?
Thanks in advance for any suggestions
Eric

One way:-
Start with VLOOKUP() to get an exact match if there is one or the next
highest number if not.
Then calc the differerence between the target and the VLOOKUP result
Then cal the difference between the target and the next lower cell to the
one returned by VLOOKUP
Then compare the 2 differences and use whatever logic you prefer to choose
the cell returned by VLOOKUP or the cell below it.

If your list is horizontal then use HLOOKUP instead.
 
M

Mike H

Hi,

Try this

=INDEX(A1:A11,MATCH(MIN(ABS(A1:A11-B1)),ABS(A1:A11-B1),))

This is an array formula which must be entered by pressing CTRL+Shift+Enter
and not just Enter. If you do it correctly then Excel will put curly brackets
around the formula {}. You can't type these yourself. If you edit the formula
you must enter it again with CTRL+Shift+Enter.

Mike
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top