Need a faster way to look up

AustSportingPix

New Member
Joined
Oct 5, 2020
Messages
45
Office Version
  1. 365
Platform
  1. Windows
  2. MacOS
  3. Mobile
Hey all
I have a database that is updated & grows everyday. At the moment I have 13000+ horses, each one has more than 150 vlookups with indirect for another workbook.
So as you can imagine, adding new data takes its sweetass time, at the moment is around 10 minutes, then 5 minutes to remove the doubles, then a few minutes to sort.

So I'm wondering if there's another way.

This is the formula I'm using: =IFERROR(VLOOKUP($B2,INDIRECT("[ratings.xlsx]"&A$1&"!$A:$B"),2,0),"")

I've heard hlookup is quicker, I've heard indexmatch is quicker but cannot work them out.

Any ideas?
 
Two things that instantly spring to mind.
1) does your data really go all the way to column XFD? If not limit the ranges in the formulae.
2) Never use whole column references, which you are doing in your vlookup. You would be better of using something like
Excel Formula:
=IFERROR(VLOOKUP($B3,INDIRECT("[ratings.xlsx]"&S$1&"!$A$2:$B$1000"),2,0),"")
 
Last edited:
Upvote 0

Excel Facts

Using Function Arguments with nested formulas
If writing INDEX in Func. Arguments, type MATCH(. Use the mouse to click inside MATCH in the formula bar. Dialog switches to MATCH.
Two things that instantly spring to mind.
1) does your data really go all the way to column XFD? If not limit the ranges in the formulae.
2) Never use whole column references, which you are doing in your vlookup. You would be better of using something like
Excel Formula:
=IFERROR(VLOOKUP($B3,INDIRECT("[ratings.xlsx]"&S$1&"!$A$2:$B$1000"),2,0),"")
Not yet, but will get there and filling up fast.
 
Upvote 0
Does limiting the range of the vlookup help?
 
Upvote 0
The biggest problem is the Indirect & the sheer amount of data especially if you have columns going out to AAA and beyond. However you could try these & see if they are faster.
Excel Formula:
=IFERROR(INDEX(INDIRECT("[ratings.xlsx]"&S$1&"!$B$2:$B$1000"),MATCH($B2,INDIRECT("[ratings.xlsx]"&S$1&"!$A$2:$a$1000"),0)),"")
Excel Formula:
=XLOOKUP($B2,INDIRECT("[ratings.xlsx]"&S$1&"!$a$2:$a$1000"),INDIRECT("[ratings.xlsx]"&S$1&"!$b$2:$b$1000"),"",0)
 
Upvote 0
Solution
The biggest problem is the Indirect & the sheer amount of data especially if you have columns going out to AAA and beyond. However you could try these & see if they are faster.
Excel Formula:
=IFERROR(INDEX(INDIRECT("[ratings.xlsx]"&S$1&"!$B$2:$B$1000"),MATCH($B2,INDIRECT("[ratings.xlsx]"&S$1&"!$A$2:$a$1000"),0)),"")
Excel Formula:
=XLOOKUP($B2,INDIRECT("[ratings.xlsx]"&S$1&"!$a$2:$a$1000"),INDIRECT("[ratings.xlsx]"&S$1&"!$b$2:$b$1000"),"",0)


Thanks so much, seems much much quicker

I was watching a few youtube videos and all were saying Vlookup is slow but I couldn't work out index/match or even xlookup.
 
Upvote 0
Glad we could help & thanks for the feedback.
 
Upvote 0

Forum statistics

Threads
1,224,822
Messages
6,181,165
Members
453,021
Latest member
Justyna P

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top