据我所知,Excel可以设置为手动或自动重新计算公式,但在阅读了互联网上的一些信息之后,我开始对Excel在自动重新计算公式时的行为感到困惑。
我之前假设Excel只会在公式引用的单元格发生更改时,或者公式包含易失性数据(如TODAY()
函数)时重新计算公式。
我的问题:
每次打开特定的工作簿(Excel文件)时,Excel是否会重新计算工作簿的所有公式?
当公式中引用的单元格发生更改时,excel是否仅重新计算所涉及的一个公式,还是Excel还会重新计算整个工作簿(或工作表)中的其他形式?
我提出这些问题的原因是:
我制作了一张记录我的炉石统计数据的Excel表格。 Excel文件中的工作表处理大量数据,我为每个匹配的游戏添加数据。
其中一个工作表的一部分示例如下所示:
Match Date | Match Number | Match Type | Match Outcome |
6/10/14 50 Casual Win
6/10/14 51 Ranked Loss
6/10/14 52 Ranked Loss
6/10/14 53 Ranked Win
我不会手动输入匹配号,而是使用此公式=(COUNT($E$3:E52)+1
。
因此,如果我在工作表中包含所有这些COUNT
公式,而且我每天都会添加更多公式,那么Excel每次打开Excel文件时都必须重新计算每个COUNT
公式吗?每当另一个公式在工作表中计算时,Excel是否必须重新计算每个COUNT
公式?我担心如果Excel文件中包含太多必须重新计算的公式,我最终会放慢速度。
答案 0 :(得分:3)
重新计算工作簿时,Excel将尝试仅重新计算获得正确答案所需的最少公式数。忽略易失性公式和完全计算之类的事情,这意味着Excel只会重新计算那些依赖于已更改的单元格的公式,或者依赖于已更改的公式,或者依赖于已重新计算的其他公式。
在大多数情况下,Excel在打开工作簿时不会重新计算工作簿,因为它通常不需要重新计算(再次忽略易失性函数,完整计算,版本之间计算引擎的更改等)。
有关详情,请参阅http://www.decisionmodels.com/calcsecrets.htm及相关网页。