View Single Post
  #9   Report Post  
Posted to microsoft.public.excel.worksheet.functions
Pete_UK Pete_UK is offline
external usenet poster
 
Posts: 8,856
Default Combining VLOOKUP functions

As I understand it, you have 300,000 reference records - you want to
consider this as one contiguous table.

Because of Excel's limit of 65k rows, you will have to split this table
up into at least 5 sub-tables - assume you give these names like
table_1, table_2, table_3 etc., then you can combine multiple lookups
as follows:

=IF(ISNA(VLOOKUP(S5,table_1,2,0),IF(ISNA(VLOOKUP(S 5,table_2,2,0),IF(ISNA(VLOOKUP(S5,table_3,2,0),"no t
present",VLOOKUP(S5,table_3,2,0)),VLOOKUP(S5,table _2,2,0)),VLOOKUP(S5,table_1,2,0))

Basically, if it exists in table_1 then get the corresponding data,
otherwise if it is in table_2 get the data from there, otherwise try
table_3 and if not there then return the error message. Hopefully you
can see how this could be extended to more tables.

Hope this helps.

Pete

Jay wrote:
Hey Guy & Gals:

To All the Excel guru's out there....

I have this Excel application which requires a combining of named ranges to
accomplish what I need in values. What I have is for example 30 records on
one sheet, but, on the VLOOKUP sheet (target) I may have as many as 300,000
records to search against for returned values which may match the data
against the 30 records of the first sheet. The VLOOKUP function I currently
have looks like so;
=IF(ISNA(VLOOKUP(S5,'Tax Table'!$A$2:$D$33,2)),"",VLOOKUP(S5,'Tax
Table'!$A$2:$D$33,2)). I know, this is only a partial list, however, I need
to extend my VLOOKUP range searches to include various named ranges, since
Excel only handles 65,000 records vertically. How can I pull it all together
an have the VLOOKUP scan multiple ranges for values which may match those in
the first 30 records as mentioned earlier?

In the above example, I point to the worksheet named "Tax Table", however,
there is also a named range called "IncomeTax", the other is "IncomeTax1" and
"IncomeTax2 etc,etc,etc on the same sheet. How can this be done?

Thanks,