Aladin and Mark W - question on volatile functions
Posted by Dustin on April 03, 2001 7:40 AM
Good morning,
I was researching why my spreadsheet was taking so long to calculate, save, etc and I came across this message thread from last month.
11676.html
You two were discussing the volatile functions and their impact on causing sheets to recalculate after every data entry.
Here is my dilemma:
I have a spreadsheet that is quite large (4MB) by my experience, containing 7 tabs that all pull information from a workbook that is not the same as the spreadsheet being discussed here. There are roughly 3 to 4 thousand cells (on the 7 sheets) that contain formulas to calculate values.
Any time I try to open, save, or close the workbook it takes several minutes at the very least.
Almost all formulas contain the TODAY() function for the purpose of calculating if there should be a value displayed in a cell or not depending upon if the date has actually passed or not.
Example: (Mark W - I have tried to give you a representative set of sample data this time ;-)
---------A----------B-----------C-----------D---------
1---------------1/5/01-------1/12/01-----1/19/01------
2--Reqs Rec'vd----------------------------------------
3--Submittals-----------------------------------------
4--Interviews-----------------------------------------
The TODAY() functions compare today's date with the date at the top of the column and display the appropriate value if today is greater than the date at the top of the column or display a blank cell if today is less than the date at the top of the column.
I am quite sure that I have not designed the spreadsheet to be the most efficient anyway, but in your expert opinion(s) would the high volume of volatile functions cause this sheet to take a long time to calculate, and if so, could I just use one TODAY() formula in a single cell on each sheet and then have all of the other formulas reference it to minimize the recalculation (open, close, save, etc) time?!?!?!
Sorry for being so long-winded.
Thanks in advance.
Dustin