当其他函数引用其单元格时,是否会重新评估Excel函数?

时间:2018-07-18 21:31:29

标签: excel-formula

例如,假设我们有一个带有=SEARCH("h", "hello")的单元格A1,该单元格显然会返回1。假设我们用=INDEX(C1:D100, 1, A1)制作了另一个单元格B1。

B1中的公式是否会重新评估A1中的公式?换句话说,B1中的公式的计算结果为=INDEX(C1:D100, 1, 1)还是=INDEX(C1:D100, 1, SEARCH("h", "hello"))

这似乎是一个琐碎的问题,但是这些示例是一个极端的简化;在我的工作簿中,我正在搜索整个工作表中的文本,然后使用它们的结果在另一工作表中输入数千个INDEX公式。而且,如果每个单元格都要重新评估自身搜索,我会担心性能问题。

1 个答案:

答案 0 :(得分:1)

Excel已优化为仅在需要时重新计算。

有关详细信息,请参阅Charles Williams关于Excel's smart recalculation的文章。

简而言之,仅当公式的任何先例发生变化时,才会重新计算公式。让我们将单元格A1中的示例更改为=countif(B:B,A2)

索引函数获取A1的输出,而无需重新运行countif。但是,如果B列中的值发生更改,或者A2中的值发生更改,则countif将重新计算,之后Index将重新计算。