Excel:使用逻辑testing的返回值作为IF函数的返回值

这是从没有涉及VBA的Excel工作表中取得的。 有什么方法可以重build吗?

=IF(ISERROR(function_return),something_else,function_return) 

这样一个术语function_return只会被明确地陈述一次。 因为function_return可以有很多参数,我只想在一个地方调整,而不是在两个实例。 在其他语言,我会尝试使用

 var foo = function_return(many_many_arguments) =IF(ISERROR(foo),something_else,foo) 

像这样的事情可以在一个单元格内实现吗?

谢谢你的帮助。

不知道我是否正确解释(忽略如果:)),但它听起来像你可以用命名的范围来模拟。 例如,如果我有函数=SUM(A1:A5) ,我可以创build一个等于=SUM(A1:A5)的命名范围Foo 。 然后,我可以写一个公式如下:

 =IF(ISERROR(Foo),"Something else",Foo) 

如果Foo计算得当,它会返回值; 否则,它会返回“别的东西”。 你可以扩大Foo来覆盖你想要计算的任何公式。 您可以在任何公式中使用Foo ,而无需重新input范围。

在这里输入图像说明

如果你使用Excel 2007以后,有一个函数可以做到这一点 – 看看iferror()