Need a faster way to look up

AustSportingPix

New Member
Joined
Oct 5, 2020
Messages
44
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

Workdays for a market open Mon, Wed, Friday?
Yes! Use "0101011" for the weekend argument in NETWORKDAYS.INTL or WORKDAY.INTL. The 7 digits start on Monday. 1 means it is a weekend.
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,223,894
Messages
6,175,254
Members
452,623
Latest member
Techenthusiast

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