What slows down Excel

mkw4949

Board Regular
Joined
Apr 28, 2006
Messages
113
i have a general question about the type of formulas that will slow excel down and inflate the file size. For example from what I've heard using an arrey formula will generally (i.e. sumproduct, sumif or anything inside []) slow down you spread sheet but will it also increase the file size? What about the Offset formula? If I use ALOT of Offset functions will that severely impact my spread sheets performance. And I do mean ALOT as in thousands.

Also what directly impacts the file size and how can I better manage this? I am a pretty advanced user and I've looked in books but have not found the answer. I would greatly appreciate any help. Thanks.
 

Excel Facts

Create a Pivot Table on a Map
If your data has zip codes, postal codes, or city names, select the data and use Insert, 3D Map. (Found to right of chart icons).
All the volatile functions will decrease performance.
Here's a list
http://www.bettersolutions.com/excel/EDK153/ME810324332.htm

And yes, array formulas definately decrease performance.
I don't know about the SIZE, but performance at least.

But sumif is not considered an array formula..

SUMPRODUCT and anything enlosed in {} (requiring Ctrl+shift+enter) is an array. Probably some others, but I'm not sure...

Also, using entire column references will decrease performance.
like Vlookup(A1,B:C,2,FALSE), instead of Vlookup(A1,A1:B1000,2,FALSE)

Consider using dynamic named ranges instead
http://www.cpearson.com/excel/excelF.htm#DynamicRanges

Hope this helps...
 
Upvote 0
My understanding is that the Direct and Match functions are not volatile, and hence do not recalcuate unless directly affected by changes in the sheet.

Are you using Indirect to deal with variable references within a sheet? Or linked to other files? Could you provide an example of a couple types of Indirect based formulas you are using?
 
Upvote 0
The formula in question is:

=IF(OR(U$9<$C13,U$9>$C14),0,NORMDIST(U$9,AVERAGE(OFFSET($T$9,0,$C13):OFFSET($T$9,0,$C14))^$C23,STDEV(OFFSET($T$9,0,$C13):OFFSET($T$9,0,$C14)),$D23)^$C22)

What it does is set up a curve over which I am distributing costs. based on simple input cells the user is able to change the type of curve (i.e. bell curve, straight line, front and back loaded) and the time frame over which the costs will be incurred. Specifically the time frame is driven by the Offset function. So the right now it's not a huge "Speed" problem but it is creating a very large file. so I end up needing the above formula for each month of cost for each cost. so I have say 5 different cost line items and each cost runs for 10 years (120 columns one for each month). so you can see how the number muliplies FAST.
 
Upvote 0
What I generally do with "mega formulas" is keep a spare or master formula and only apply it where and when I need it. Then paste values for everything that's been updated.

Once you figure out a methodology that works for you, you can write a macro to apply it when and where needed and then value it out.
 
Upvote 0
Try Replacing These types of reference:
OFFSET($T$9,0,$C13)

With something more like this:
Index($T$9:$IV$9,$C13)
 
Upvote 0

Forum statistics

Threads
1,215,752
Messages
6,126,672
Members
449,327
Latest member
John4520

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