From: AFSSkier on
I'm looking for a reference function to pull the result from an out of sort
table (see table example below). The result should always come from the
reference value LT A14. The table is always a whole number 0,1000,2000,3000,
etc.

I've tried the following functions, but they all require data in ascending
order and/or exact match of the value in A14.
=VLOOKUP($A$14,A$2:B$10,TRUE)
=INDEX(A$2:B$10,MATCH($A$14,A$2:A$10,1),2)
=LOOKUP($A$14,A$2:A$10,B$2:B$10)

Table example:
A B
2 1000 0.525
3 6000 0.946
4 3000 0.675
5 0 0.457
6 4000 0.746
7 2000 0.606
8 8000 1.29
9 5000 0.835
10 7000 1.09

If A14 = 3125, then result in B14 is 0.675.

I don't want to have to use a complex IF/AND, like:
=IF(AND($A$14>3000, $A$14<3999),VLOOKUP(3000,A$2:B$10,2,FALSE),"continue
IF/AND")

Thanks, Kevin
From: Lars-�ke Aspelin on
On Mon, 1 Mar 2010 10:01:01 -0800, AFSSkier
<AFSSkier(a)discussions.microsoft.com> wrote:

>I'm looking for a reference function to pull the result from an out of sort
>table (see table example below). The result should always come from the
>reference value LT A14. The table is always a whole number 0,1000,2000,3000,
>etc.
>
>I've tried the following functions, but they all require data in ascending
>order and/or exact match of the value in A14.
>=VLOOKUP($A$14,A$2:B$10,TRUE)
>=INDEX(A$2:B$10,MATCH($A$14,A$2:A$10,1),2)
>=LOOKUP($A$14,A$2:A$10,B$2:B$10)
>
>Table example:
> A B
>2 1000 0.525
>3 6000 0.946
>4 3000 0.675
>5 0 0.457
>6 4000 0.746
>7 2000 0.606
>8 8000 1.29
>9 5000 0.835
>10 7000 1.09
>
>If A14 = 3125, then result in B14 is 0.675.
>
>I don't want to have to use a complex IF/AND, like:
>=IF(AND($A$14>3000, $A$14<3999),VLOOKUP(3000,A$2:B$10,2,FALSE),"continue
>IF/AND")
>
>Thanks, Kevin


Try this modifying your second formula like this

>=INDEX(A$2:B$10,MATCH(FLOOR($A$14,1000),A$2:A$10,1),2)

or, a little simpler, just

=INDEX(B$2:B$10,MATCH(FLOOR($A$14,1000),A$2:A$10,0))

Hope this helps / Lars-�ke
From: T. Valko on
>If A14 = 3125, then result in B14 is 0.675.

What is the "rule" for finding the correct result? Is it: the closest value
that is less than the lookup value?

--
Biff
Microsoft Excel MVP


"AFSSkier" <AFSSkier(a)discussions.microsoft.com> wrote in message
news:0CF9A182-3DAD-4518-A6A4-66A3F409CE8E(a)microsoft.com...
> I'm looking for a reference function to pull the result from an out of
> sort
> table (see table example below). The result should always come from the
> reference value LT A14. The table is always a whole number
> 0,1000,2000,3000,
> etc.
>
> I've tried the following functions, but they all require data in ascending
> order and/or exact match of the value in A14.
> =VLOOKUP($A$14,A$2:B$10,TRUE)
> =INDEX(A$2:B$10,MATCH($A$14,A$2:A$10,1),2)
> =LOOKUP($A$14,A$2:A$10,B$2:B$10)
>
> Table example:
> A B
> 2 1000 0.525
> 3 6000 0.946
> 4 3000 0.675
> 5 0 0.457
> 6 4000 0.746
> 7 2000 0.606
> 8 8000 1.29
> 9 5000 0.835
> 10 7000 1.09
>
> If A14 = 3125, then result in B14 is 0.675.
>
> I don't want to have to use a complex IF/AND, like:
> =IF(AND($A$14>3000, $A$14<3999),VLOOKUP(3000,A$2:B$10,2,FALSE),"continue
> IF/AND")
>
> Thanks, Kevin


From: AFSSkier on
Lars-Åke,

Your suggestion for using the Floor function works perfectly. The following
formulas work great for what I needed.

=INDEX(B$2:B$10,MATCH(FLOOR($A$14,1000),A$2:A$10,0))
or =VLOOKUP(FLOOR($A$14,1000),$A$2:$B$10,2,FALSE)

--
Thanks, Kevin


"Lars-Åke Aspelin" wrote:

> On Mon, 1 Mar 2010 10:01:01 -0800, AFSSkier
> <AFSSkier(a)discussions.microsoft.com> wrote:
>
> >I'm looking for a reference function to pull the result from an out of sort
> >table (see table example below). The result should always come from the
> >reference value LT A14. The table is always a whole number 0,1000,2000,3000,
> >etc.
> >
> >I've tried the following functions, but they all require data in ascending
> >order and/or exact match of the value in A14.
> >=VLOOKUP($A$14,A$2:B$10,TRUE)
> >=INDEX(A$2:B$10,MATCH($A$14,A$2:A$10,1),2)
> >=LOOKUP($A$14,A$2:A$10,B$2:B$10)
> >
> >Table example:
> > A B
> >2 1000 0.525
> >3 6000 0.946
> >4 3000 0.675
> >5 0 0.457
> >6 4000 0.746
> >7 2000 0.606
> >8 8000 1.29
> >9 5000 0.835
> >10 7000 1.09
> >
> >If A14 = 3125, then result in B14 is 0.675.
> >
> >I don't want to have to use a complex IF/AND, like:
> >=IF(AND($A$14>3000, $A$14<3999),VLOOKUP(3000,A$2:B$10,2,FALSE),"continue
> >IF/AND")
> >
> >Thanks, Kevin
>
>
> Try this modifying your second formula like this
>
> >=INDEX(A$2:B$10,MATCH(FLOOR($A$14,1000),A$2:A$10,1),2)
>
> or, a little simpler, just
>
> =INDEX(B$2:B$10,MATCH(FLOOR($A$14,1000),A$2:A$10,0))
>
> Hope this helps / Lars-Åke
> .
>
From: Niek Otten on
Although this can be done (of course), you (or your principal) are making it
difficult. Why not sort the table (ascending) so you can use standard
VLOOKUP functionality?

If that is not possible, please give some more information about the (type
of) problem you are trying to solve; we are just not prepared to believe
things should be that difficult.:-)

--
Kind regards,

Niek Otten
Microsoft MVP - Excel


"AFSSkier" <AFSSkier(a)discussions.microsoft.com> wrote in message
news:0CF9A182-3DAD-4518-A6A4-66A3F409CE8E(a)microsoft.com...
> I'm looking for a reference function to pull the result from an out of
> sort
> table (see table example below). The result should always come from the
> reference value LT A14. The table is always a whole number
> 0,1000,2000,3000,
> etc.
>
> I've tried the following functions, but they all require data in ascending
> order and/or exact match of the value in A14.
> =VLOOKUP($A$14,A$2:B$10,TRUE)
> =INDEX(A$2:B$10,MATCH($A$14,A$2:A$10,1),2)
> =LOOKUP($A$14,A$2:A$10,B$2:B$10)
>
> Table example:
> A B
> 2 1000 0.525
> 3 6000 0.946
> 4 3000 0.675
> 5 0 0.457
> 6 4000 0.746
> 7 2000 0.606
> 8 8000 1.29
> 9 5000 0.835
> 10 7000 1.09
>
> If A14 = 3125, then result in B14 is 0.675.
>
> I don't want to have to use a complex IF/AND, like:
> =IF(AND($A$14>3000, $A$14<3999),VLOOKUP(3000,A$2:B$10,2,FALSE),"continue
> IF/AND")
>
> Thanks, Kevin

 |  Next  |  Last
Pages: 1 2
Prev: hyperlink problem
Next: Look up table?