Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Excel / Worksheet Functions / September 2007

Tip: Looking for answers? Try searching our database.

Complex Lookup Question - Clarification?????

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
bevpike - 20 Sep 2007 20:08 GMT
I understand most of the formula from the response to my original posting
(see orig posting and response below) except for the following:

MATCH(B4,OFFSET(Table2,1,1,,1),TRUE)+1

How does this find the row where the age in Table 1 is between Age_lower and
Age_upper in Table2?  What does +1 do?

Thanks,  Attila

Original Posting*****************************

I have to do a complex lookup.  Here are the excel tables involved:

Table 1                       
                       
Name    Age    Status               
Jim    25    MNS               
Mary    38    FS               
                       
                       
Table 2                       
                       
Band    Age_lower    Age_upper    MS    MNS    FS    FNS
1    0    18    0.25    0.2    0.18    0.14
2    19    29    1.25    1.2    1.18    1.14
3    30    39    2.25    2.2    2.18    2.14
4    40    49    3.25    3.2    3.18    3.14
5    50    59    4.25    4.2    4.18    4.14

Here is what I have to do:

1)  Based on the age of the individual in Table 1 I need to determine the
Band in Table 2 - this is determined by looking at their age and finding
which row their age is between Age_lower and Age_upper.

2)  Once I found the Band I then look at their Status in Table 1 and then
find select the appropriate value from the Band row in table 2

For example, for Jim in Table 1 he would fall in Band 2 and based on his
status of MNS the value selected would be 1.2 (from row2,col5 in Table 2).  
Mary would be band 3 and value of 2.14.

Is this possible with one formula?  Please let me know.

Thanks,  Attila

Response*******************************

One way:

   =INDEX(Table2, MATCH(B2,OFFSET(Table2,1,1,,1),TRUE)+1,
MATCH(C2,OFFSET(Table2,,,1,),FALSE))

This assumes that table 2 is named Table2 (including the header row and
band column), that B2 refers to the Age in Table 1, and C2 is the Status.

Note that it will give a bad result if Age is > the maximum Age_Upper.
Teethless mama - 20 Sep 2007 20:44 GMT
Try this:
This formula probably much easier for you to understand

Table 1 Criteria:
B2: holds Age
C2: holds Status

Create defined name ranges for table 2

=SUMPRODUCT((Age_lower<=B2)*(Age_upper>=B2),INDIRECT(C2))

> I understand most of the formula from the response to my original posting
> (see orig posting and response below) except for the following:
[quoted text clipped - 54 lines]
>
> Note that it will give a bad result if Age is > the maximum Age_Upper.
JE McGimpsey - 20 Sep 2007 20:55 GMT
This uses an approximate match (hence the TRUE) on the rows starting
below the header row in the second column of Table2 (in the OFFSET()
function, the first 1 offsets the rows by 1, and the second 1 offsets
the columns by 1). The last 1 in the OFFSET() limits the Match to 1
column.

The +1 at the end is to account for having offset the lookup column in
the MATCH by one (the header) row when indexing the original table.

> I understand most of the formula from the response to my original posting
> (see orig posting and response below) except for the following:
[quoted text clipped - 3 lines]
> How does this find the row where the age in Table 1 is between Age_lower and
> Age_upper in Table2?  What does +1 do?
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.