AND()和OR()的Excel惰性评估
Excel似乎不使用AND()和OR()函数的懒惰评估。 例如:
=AND(A1<>0, B1/A1>.5)
将会导致#DIV / 0!的值。 另一种select是使用if语句:
=IF(A1<>0, B1/A1>.5, FALSE)
然而,如果AND函数计划在IF函数内部使用(或者可能是一些嵌套的IF),这会变得混乱。 有更好的(即更可读)的解决scheme吗?
不要以为自己能比自己做得更好。 这里有一些其他的select:
=IF(A1,B1/A1>.5) =IFERROR(B1/A1>.5,FALSE) =COUNT(N(A1<>0),N(B1/A1>.5))=2
尽pipe时间较长,但最后一个可以扩展到更多的条件,并且可以通过将=2
更改为>0
来轻松修改为OR。