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