View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.worksheet.functions
Pete_UK Pete_UK is offline
external usenet poster
 
Posts: 8,856
Default VLookup takes too long

I think you will find it quicker still if you use MATCH once to
determine if the sought item exists in the lookup table and then use
an INDEX formula to bring the values from the other columns.
Essentially, you would have a new column C (which you can hide
afterwords) with something like:

=IF(ISNA(MATCH(A2,lookup_data,0)),"",MATCH(A2,look up_data,0))

where lookup_data is just the first column of your Validdata table.
Then in column D you can have something like:

=IF($C2="","",INDEX(Validdata,$C2,14))

and copy this across changing 14 to 15, 16 etc, or even put it in as:

=IF($C2="","",INDEX(Validdata,$C2,COLUMN(N1)))

so that when you copy this across the COLUMN(N1) (which returns 14)
will become COLUMN(O1), COLUMN(P1) etc, which return 15, 16 etc
automatically.

This should be a lot faster.

Hope this helps.

Pete


On Mar 20, 1:34*pm, DTTODGG wrote:
Hello-

I have in the past done VLOOKUP on multiple columns to retrieve data from
other spreadsheet. This process takes forever and a day when the files are
huge.

Is there a quicker technique?
Can I do a VLOOKUP on one column and then, when found use some other quicker
function (maybe MATCH or INDEX - I don't know how to use these) to get the
other columns?

Sample (of 6000 line spreadsheet)
ColA * ColB * ColC * * * *ColD * * * ColE
Data * Data * VLookUP *VLookup *VLookup

ColC = VLOOKUP (A2,Validdata, 14, false)
ColD = VLOOKUP (A2, Validdata, 15, false)
ColE = VLOOKUP (A2, Validdata, 17,false)
etc...

Thank you so much for all your shared wisdom!