Index/Match V Vlookup

RichardMGreen

Well-known Member
Joined
Feb 20, 2006
Messages
2,177
Hi all

Can anyone tell me which is least processor intensive between index/match and vlookup?
We're having a bit of a debate about which is most useful (I'm championing index/match) but can't seem to find a test to check both.

Anyone any ideas?
 

Excel Facts

What did Pito Salas invent?
Pito Salas, working for Lotus, popularized what would become to be pivot tables. It was released as Lotus Improv in 1989.
In terms of usefulness, I'd go with INDEX/MATCH every time, simply because it's more versatile. It allows you to return values to the left of your lookup column and you don't need to count columns to figure out which range you want to return.

However, I'd guess it's more processor intensive simply because it's a combo of 2 function (3 if you use MATCH in the row and column arguements of INDEX).
 
Upvote 0
Hi all

Can anyone tell me which is least processor intensive between index/match and vlookup?
We're having a bit of a debate about which is most useful (I'm championing index/match) but can't seem to find a test to check both.

Anyone any ideas?
In general, INDEX/MATCH is more efficient.

However, don't make a mountain out of a mole hill! ;)

If you have a VLOOKUP formula and the equivalent INDEX/MATCH and one formula takes 0.00035 seconds to calculate and the other takes 0.00027 seconds to calculate, can you tell a difference?

So, if your file is 25kb in size with a couple dozen formulas you don't need to be concerned with efficiency.

OTOH, if your file is 20mb with 1000's of formulas then you probably need to be as efficient as possible.
 
Upvote 0
Actually, Index/Match will likely be faster when used right.

Especially when you also start doing the IF(ISNA(... error checking.
When you do that, you have to do the vlookup twice.
With Index/match, you only do the match twice.
Match is significantly more efficient than Vlookup.


Further..
When you want to return multiple columns based on the same lookup value..
I.E., match A1 to Column B, and return value From C, then D, then E etc..

You put the match in a cell by itself, then base your index off of that cell.
Like so
This is:
1. Simpler because you don't have to incriment the Column Index like in Vlookup
2. Far more efficent because the match is only done once, in B2. The Index formulas then refer to B2.


Excel Workbook
ABCDE
1Lookup ValMatchIndex1Index2Index3
2Fred1A1Z
3Betty4D4W
4George#N/A
5Barney2B2Y
Sheet1
Excel Workbook
HIJK
1Lookup TableHeader1Header2Header3
2FredA1Z
3BarneyB2Y
4WilmaC3X
5BettyD4W
6PebblesE5V
7Bam-BamF6U
Sheet1
 
Last edited:
Upvote 0
Thanks guys.
It would appear that index/match is more useful but slower (in a nutshell).

The Index/Match with match-type set to 0 is a tad faster compared to others
with the same match-type settings. However, if you want fast performance
regarding retrieval operations, arrange the data in ascending order and invoke
look up formulas with LOOKUP or other whose match-type is set to 1.
 
Upvote 0
My data is sorted ascending (I'll always try to do that where even vaguely possible).
It was just a random comment which started the debate between the two methods.
 
Upvote 0
My data is sorted ascending (I'll always try to do that where even vaguely possible).
It was just a random comment which started the debate between the two methods.

Let A2:B2000 house the data and A2:A2000 is the match vector
in ascending order. If that order is guaranteed at all times, the following
would be a very efficient set up:

Code:
=IF(LOOKUP(G2,$A$2:$A$2000)=G2,
   LOOKUP(G2,$A$2:$A$2000,$B$2:$B$2000),"Not Found")

which assumes that the exact match is needed.
 
Upvote 0

Forum statistics

Threads
1,224,603
Messages
6,179,849
Members
452,948
Latest member
UsmanAli786

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