Helper cell vs Triple call?

Calgary_Neil

Board Regular
Joined
Apr 5, 2014
Messages
79
Hello, I'm trying to reduce and speed up a workbook. I'm stuck on whether to use a helper cell or three calls within a formula.
The current design calls for 500++ (25+? x 20+?) helper cells, or a cells containing 1500++ of the helper cell formula. (Both have the same number of calls).
If a helper cell is used it would contain XLOOKUP( $B65, MTech[ID], INDIRECT( "MTech["& C65+1 &"]" )) and main cell would return;
1) -4 in helper cell gives -4 in main cell.
2) -2 in helper cell gives -2 in main cell.
3) A positive value in helper, returns C65+1 in main.
Now the -4, -2 are code, but it does require 2 different returns, the positive value can between 0 and 30.
Currently I lean toward IFS with three calls and an Error catch value (unknown at this time), with no helper cell

Now I have looked at IFS (multiple calls to helper formula) and CHOOSE (one call, but positive values DON'T correlate with C65+1)
Is there a function(s) or formula which will do this more effectually, stay with IFS, or switch to a helper design?

Thanks Neil using Excel 365
 

Excel Facts

Copy a format multiple times
Select a formatted range. Double-click the Format Painter (left side of Home tab). You can paste formatting multiple times. Esc to stop
If you have 365 you could use LET instead of helper cells. I suspect you could avoid INDIRECT by using INDEX and MATCH, which would probably make more of a difference
 
Upvote 0
Solution
Thanks for that. Will try LET (didn't that it was out). Index/Match again losses the Structured Table advantages, but you are right, it may be better than using a dynamic function like INDIRECT.
 
Upvote 0
You can still use structured table references. Something like

XLOOKUP( $B65, MTech[ID], INDEX(Mtech,0,MATCH(""&C65+1,MTech{#Headers],0)))

could replace your INDIRECT function.
 
Upvote 0
Thanks for that, after three tries I get an answer to the STRUCTRED TABLE question.

End solution, NO helper cells but use
=LET( NxtVal, XLOOKUP( $B65, MTech[ID],INDEX( MTech, 0, MATCH( TEXT( C65+1,"0"), MTech[#Headers], 0))), IFS( NxtVal>0, C65+1, NxtVal=-4, -4, NxtVal=-2, -2, TRUE, -9 ))

Again Thanks
 
Upvote 0

Forum statistics

Threads
1,214,786
Messages
6,121,546
Members
449,038
Latest member
Guest1337

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