这是从没有涉及VBA的excel工作表中获取的。有没有办法重建
=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)
可以在一个单元格中实现这样的事情吗?
感谢您的帮助。
答案 0 :(得分:1)
不确定我是否正确解释(如果是这样忽略:)),但听起来你可以用命名范围模拟这个。例如,如果我有函数=SUM(A1:A5)
,我可以创建一个等于Foo
的命名范围=SUM(A1:A5)
。然后,我可以编写一个类似的公式:
=IF(ISERROR(Foo),"Something else",Foo)
如果Foo
计算得当,它会返回值;否则,它将返回“其他东西”。您可以展开Foo
以涵盖您要计算的任何公式。然后,您可以在任何公式中使用Foo
,而无需重新键入范围。
答案 1 :(得分:1)
如果您使用的是Excel 2007以上版本,则可以正常执行此操作 - 请查看iferror()