Rreplace SUMIFS with INDEX/MATCH

STEVEMILLS04

Board Regular
Joined
Oct 8, 2009
Messages
113
I have read here: https://professor-excel.com/performance-excel-study/ that INDEX/MATCH or VLOOKUPS can be up to 50% faster than SUMIFS but for some reason I am having a hard time replacing a SUMIF formula with either Index/Match or Vlookup. Has anyone done this in the past?

Code:
=SUMIFS(D2:D8,B2:B8,"West",C2:C8,"<="&40)

Name
KyleWest
TonyEast
LyleEast
SeanWest
JohnWest
KevinCentral
StephenCentral

<tbody>
[TD="width: 64"]Region[/TD]
[TD="width: 64"]Age[/TD]
[TD="width: 64"]Dollars[/TD]

[TD="align: right"]21[/TD]
[TD="align: right"]100[/TD]

[TD="align: right"]21[/TD]
[TD="align: right"]98[/TD]

[TD="align: right"]36[/TD]
[TD="align: right"]54[/TD]

[TD="align: right"]46[/TD]
[TD="align: right"]14[/TD]

[TD="align: right"]47[/TD]
[TD="align: right"]13[/TD]

[TD="align: right"]54[/TD]
[TD="align: right"]98[/TD]

[TD="align: right"]58[/TD]
[TD="align: right"]250[/TD]

</tbody>
 

Excel Facts

How can you automate Excel?
Press Alt+F11 from Windows Excel to open the Visual Basic for Applications (VBA) editor.
Hi, have you read the article on that site about the difference between VLOOKUP, SUMIF(S), and INDEX/MATCH ?

They are not completely interchangeable.

There are some situations where, for example, VLOOKUP and INDEX/MATCH can deliver identical results, and same for VLOOKUP and SUMIFS etc.
But these functions also have key differences which make them each useful in different situations.

In the specific example you have given, they will all provide the same results but that is because there is only one data item for WEST where AGE is less than 40.
But if you had more than one entry where AGE is less than 40, then SUMIFS would definitely be the way to go.

EDIT to add . . . actually, I don't think VLOOKUP is applicable to this situation at all, at least not easily.
And INDEX/MATCH again is applicable only with some difficulty.
 
Last edited:
Upvote 0
One way


Excel 2013/2016
ABCDE
1NameRegionAgeDollars
2KyleWest21100100
3TonyEast2198
4LyleEast3654
5SeanWest4614
6JohnWest4713
7KevinCentral5498
8StephenCentral58250
Sheet1
Cell Formulas
RangeFormula
E2{=INDEX(D2:D8,MATCH(1,(B2:B8="West")*(C2:C8<40),0))}
Press CTRL+SHIFT+ENTER to enter array formulas.


But if you have a lot of data I'd tend to stick with the sumif
 
Last edited:
Upvote 0
That makes sense and is what I thought. I guess I don't understand why they would compare the three when they are in fact not completely interchangeable. Thanks!
 
Upvote 0

Forum statistics

Threads
1,223,734
Messages
6,174,186
Members
452,550
Latest member
southernsquid2

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