Speed up INDIRECT formula (or find alternative)

easteregg

New Member
Joined
Dec 1, 2017
Messages
1
Hey folks,
trying to build a sales report in Excel, which sums up all the sales on a product level.
For each product I have multiple sales people, each of which has his own sheet.

Lets say this is the structure:
[TABLE="class: grid, width: 500"]
<tbody>[TR]
[TD]Formula-Sheet[/TD]
[TD]Report-Apples[/TD]
[TD]Apples-John[/TD]
[TD]Apples-Mary[/TD]
[TD]Apples-Donald[/TD]
[/TR]
</tbody>[/TABLE]

Formula-Sheet
[TABLE="class: grid, width: 500"]
<tbody>[TR]
[TD][/TD]
[TD]A[/TD]
[/TR]
[TR]
[TD]1[/TD]
[TD]Apples-John[/TD]
[/TR]
[TR]
[TD]2[/TD]
[TD]Apples-Mary[/TD]
[/TR]
[TR]
[TD]3[/TD]
[TD]Apples-Donald[/TD]
[/TR]
</tbody>[/TABLE]
A1:A3 = Named Range "AppleSheets"

Report-Apples:
[TABLE="class: grid, width: 500"]
<tbody>[TR]
[TD][/TD]
[TD]A[/TD]
[TD]B[/TD]
[TD]C[/TD]
[/TR]
[TR]
[TD]1[/TD]
[TD]Date[/TD]
[TD]Apples Sold (Total)[/TD]
[TD]Revenue (Total)[/TD]
[/TR]
[TR]
[TD]2[/TD]
[TD]01.01.2018[/TD]
[TD]6[/TD]
[TD]12[/TD]
[/TR]
[TR]
[TD]3[/TD]
[TD]02.01.2018[/TD]
[TD]5[/TD]
[TD]10[/TD]
[/TR]
[TR]
[TD][/TD]
[TD]...[/TD]
[TD]...[/TD]
[TD]...[/TD]
[/TR]
</tbody>[/TABLE]
B2=SUMPRODUCT(SUMIF(INDIRECT("'"&AppleSheets&"'"&"!A"&ROW()),A2,INDIRECT("'"&AppleSheets&"'"&"!B"&ROW())))
C2=SUMPRODUCT(SUMIF(INDIRECT("'"&AppleSheets&"'"&"!A"&ROW()),A2,INDIRECT("'"&AppleSheets&"'"&"!C"&ROW())))

Apples-John:
[TABLE="class: grid, width: 500"]
<tbody>[TR]
[TD][/TD]
[TD]A[/TD]
[TD]B[/TD]
[TD]C[/TD]
[/TR]
[TR]
[TD]1[/TD]
[TD]Date[/TD]
[TD]Apples Sold[/TD]
[TD]Revenue[/TD]
[/TR]
[TR]
[TD]2[/TD]
[TD]01.01.2018[/TD]
[TD]5[/TD]
[TD]10[/TD]
[/TR]
[TR]
[TD]3[/TD]
[TD]02.01.2018[/TD]
[TD]0[/TD]
[TD]0[/TD]
[/TR]
[TR]
[TD][/TD]
[TD]...[/TD]
[TD]...[/TD]
[TD]...[/TD]
[/TR]
</tbody>[/TABLE]

Apples-Mary:
[TABLE="class: grid, width: 500"]
<tbody>[TR]
[TD][/TD]
[TD]A[/TD]
[TD]B[/TD]
[TD]C[/TD]
[/TR]
[TR]
[TD]1[/TD]
[TD]Date[/TD]
[TD]Apples Sold[/TD]
[TD]Revenue[/TD]
[/TR]
[TR]
[TD]2[/TD]
[TD]01.01.2018[/TD]
[TD]1[/TD]
[TD]2[/TD]
[/TR]
[TR]
[TD]3[/TD]
[TD]02.01.2018[/TD]
[TD]4[/TD]
[TD]8[/TD]
[/TR]
[TR]
[TD][/TD]
[TD]...[/TD]
[TD]...[/TD]
[TD]...[/TD]
[/TR]
</tbody>[/TABLE]

Apples-Donald:
[TABLE="class: grid, width: 500"]
<tbody>[TR]
[TD][/TD]
[TD]A[/TD]
[TD]B[/TD]
[TD]C[/TD]
[/TR]
[TR]
[TD]1[/TD]
[TD]Date[/TD]
[TD]Apples Sold[/TD]
[TD]Revenue[/TD]
[/TR]
[TR]
[TD]2[/TD]
[TD]01.01.2018[/TD]
[TD]0[/TD]
[TD]0[/TD]
[/TR]
[TR]
[TD]3[/TD]
[TD]02.01.2018[/TD]
[TD]1[/TD]
[TD]2[/TD]
[/TR]
[TR]
[TD][/TD]
[TD]...[/TD]
[TD]...[/TD]
[TD]...[/TD]
[/TR]
</tbody>[/TABLE]

Since I have ~20 Sheets like Report-Apples, and do it for the whole year, those INDIRECT formulas seem to slow down the calculations enormously.

Is there another way to solve this, which is not including INDIRECT?
Or is there a way to speed up INDIRECT?

Thanks in advance,
Jan
 

Excel Facts

Who is Mr Spreadsheet?
Author John Walkenbach was Mr Spreadsheet until his retirement in June 2019.
If all sheets have the same structure ( which seems to be the case) why not use a 3D reference sum

If for any reason sheets will be added or deleted create an empty sheet called "start" ( or whatever) before the 1st sheet and another one at the end called "End" (or whatever) and use those two sheets as first and last for your 3-D ref.
When you add sheet(s) just add them between Start end End
 
Upvote 0

Forum statistics

Threads
1,223,894
Messages
6,175,250
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