如何避免Excel评估公式两次?

时间:2016-01-13 15:08:27

标签: excel evaluation

我刚开始学习Excel,在练习中我经常发现自己在一个公式中复制一个子表达式。例如,如果想要在评估某些expression(例如vlookup)时检查可能的错误,以便输出合理的错误消息,我会尝试类似if(iserror(expression);"error";expression)的内容。这样可以正常工作,但这让我想到这是否意味着Excel评估expression两次,这可能会产生计算成本。也许它不会(因为它会使用一些聪明的懒惰策略),但如果确实如此,它怎么能避免呢?我是否必须编写自己的函数(VBA?),或者是否有办法内联(例如将expression绑定到变量)?

2 个答案:

答案 0 :(得分:1)

解决这个问题的最懒的方法是在自己的单元格中评估expression,然后将这个单元格引用到公式中,而不是在每个位置复制expression的公式。

答案 1 :(得分:0)

您还可以使用=IFERROR(expression, [on error msg])来解决问题。