在Excel中使用OR函数时出错
我在Excel公式中使用Excel公式OR
,并且对于它的行为方式有点惊讶。
我正在使用以下Excel公式:
=IF(OR(ISERROR(funct(A1:A5)), funct(A1,A5)=0), "ERROR", funct(A1,A5))
我的理解是,如果ISERROR(funct(A1:A5))
True(or False)
,OR操作的结果将是True(或False)。
在我的实验中,由于ISERROR(funct(A1:A5))
结果是true
,我期待答案是“错误” 。
但是我获得了#VALUE!
错误。 任何想法可能是错的。 或者,如果我可以改写公式,使其工作。
谢谢
我想你错过了一个closures括号。
尝试这个:
=IF(OR(ISERROR(funct(A1:A5)), func(A1,A5)=0), "ERROR", func(A1,A5))
=IF(ISERROR(funct(A1:A5)),"ERROR",IF(funct(A1:A5)=0,"ERROR",funct(A1:A5)))
我build议Tim的答案,但如果func()
是一个很大的函数,正如你所说,那么你可能想要最小化它的使用次数。 我假设应该在整个公式中调用相同的函数,即func(A1:A5)
在Excel 2007或更高版本中,您可以使用IFERROR函数:
=IFERROR(IF(func(A1:A5)=0,"ERROR",func(A1:A5)),"ERROR")
或者在早期版本中,可以强制func(A1:A5)通过func(A1:A5)除1得到一个等于零的错误:
=IF(ISERROR(1/func(A1:A5)),"ERROR",func(A1:A5))
编辑:进一步,你可以结合这两种方法在Excel 2007或更高版本,所以你只需要调用func一次:
=IFERROR(1/(1/func(A1:A5)),"ERROR")
=IF(OR(ISERROR(funct(A1:A5)), funct(A1,A5)=0), "ERROR", func(A1,A5))
– 仔细看看你的公式导致的build议: funct(A1,A5)=0
和func(A1,A5)
是真的不同的函数,或者这是你的公式错字 ? 也许就是这样。