Less intensive alternative to FILTER function?

AYouQueTai

Board Regular
Joined
Sep 14, 2019
Messages
50
Office Version
  1. 365
Platform
  1. Windows
Hello,

I have the following formula in my NHL spreadsheet.
=FILTER(INDIRECT("'"&[@Team]&"'!$E$2:$E$300"),(INDIRECT("'"&[@Team]&"'!$B$2:$B$300")<=[@Date])*(INDIRECT("'"&[@Team]&"'!$C$2:$C$300")>=[@Date])*(INDIRECT("'"&[@Team]&"'!$A$2:$A$300")=[@Jersey]))
The problem is it is taking too much time to update the sheet. I have switched to manual calculation but 2 weeks into the season (2000 rows of data) its taking 5 minutes to update.
Is there another formula that would accomplish the same thing while being less intensive?

Each team has a worksheet where every player who has played a game for them this season is listed along with their stats.
I also have a roster sheet where I input the gameday roster of 20 players who will be on the bench that game.
when I input their jersey number in the roster sheet it looks up the team worksheet, checks the start date and end date of that players status to make sure they weren't traded or injured etc,,, and lists their name

Any input on which function I should try instead?
 

Excel Facts

How to find 2nd largest value in a column?
MAX finds the largest value. =LARGE(A:A,2) will find the second largest. =SMALL(A:A,3) will find the third smallest
Instead of using the INDIRECT function to point to the target sheet and range, use the CHOOSE function. For example, for simplicity, let's say that you have 2 sheets named Team A and Team B, you would replace...

Excel Formula:
INDIRECT("'"&[@Team]&"'!$E$2:$E$300")

with

Excel Formula:
CHOOSE(MATCH([@Team],{"Team A","Team B"},0),'Team A'!$E$2:$E$300,'Team B'!$E$2:$E$300)

And you would do the same for your other arguments in the formula. Actually, after doing a quick search on Google, it looks like there are 32 teams in the NHL. In this case, I would suggest that you list the teams in a range of cells, let's say G2:G33. Then you could do the following instead...

Excel Formula:
CHOOSE(MATCH([@Team],$G$2:$G$33,0),'Team A'!$E$2:$E$300,'Team B'!$E$2:$E$300 . . . )

Hope this helps!
 
Last edited:
Upvote 0
Solution

Forum statistics

Threads
1,223,868
Messages
6,175,082
Members
452,611
Latest member
bls2024

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