您可能会对此链接感兴趣。
Excel Recalculation
http://msdn.microsoft.com/en-us/library/office/bb687891(v=office.12).aspx
Thread Safe Functions
http://msdn.microsoft.com/en-us/library/office/bb687899(v=office.12).aspx#xl2007xllsdk_threadsafe
有许多事件可以触发重新计算事件,也可以读取VOLATILE
函数。Volatile 函数是这样一个函数,即使它的参数(如果有的话)都没有改变,也不能假定它的值从一个时刻到下一个时刻都是相同的。
The following Excel functions are volatile.
NOW
TODAY
RAND
OFFSET
INDIRECT
INFO (depending on its arguments)
CELL (depending on its arguments)
数据表的重新计算处理略有不同。重新计算与常规工作簿重新计算异步处理,因此大型表的重新计算时间可能比工作簿的其余部分要长。
尝试设置Automatic Except for Data Tables
。也许即使设置为手动计算,这也意味着只要事件触发手动计算,它就会计算受影响的单元格。也许您的刷新正在触发所有这些事件,这些事件将计算多次,因为随着事件的触发,更多的事件会进入并再次触发。
您可以做的最简单的事情是尽可能多地消除VOLATILE
公式ARRAY
。个人经验告诉我,RAND 和 ARRAY 函数是最差的。