Excel 2010:将AND运算符插入函数,如果引用的单元格有值,则返回true

尽我所知,如果[cell]包含一个值,IF([cell],TRUE,FALSE)总是返回TRUE,但我无法在Excel 2010中find任何关于这种真值testing的文档。不知道它叫什么,我可以find的所有文档似乎都需要在IF函数的第一个字段中使用一些条件运算符。 这是一个速记,一个错误,还是我以某种非意图的方式使用其他function?

这是我的混乱:

=IF([@[LL Billed]],NETWORKDAYS([@Closed],[@Paid]),NETWORKDAYS([@Closed],TODAY())) 

所有引用的单元格包含date或空白。 目前,如果@ [LL Billed]是空的而@Paid是空白的(@closed总是包含一个date),我得到一个返回的整数(这是应该如何工作的)。

我需要做的是改变这个公式,以便逻辑testing检查@ [LL Billed]和@Paid是否都有一个值; 如果两者都包含值,它应该返回TRUE,如果任何一个不包含值,那么它应该返回FALSE。

我想避免完全重构这个IF函数,因为它与工作簿中的其他函数具有对称性。 我可以使用另一个“速记”testing作为逻辑testing的一部分吗? 我尝试了嵌套NOT-ISBLANK-AND函数,但无济于事,再加上它很混乱。

有什么build议么?

尝试使用COUNT(计算数字,包括date),即

=IF(COUNT([@[LL Billed]],[@Paid])=2,NETWORKDAYS([@Closed],[@Paid]),NETWORKDAYS([@Closed],TODAY()))

如果COUNT = 2,那么两个单元格都有date

顺便说一句,如果你使用一个数字作为testingIF函数,它总是返回TRUE …..除非数字是零,在这种情况下,它返回FALSE

注意:如果你想要的话,可以通过在NETWORKDAYS中embeddedIF函数来缩短公式

=NETWORKDAYS([@Closed],IF(COUNT([@[LL Billed]],[@Paid])=2,[@Paid],TODAY()))

考虑公式= IF(A1,True,False)

 This will be False if A1 contains the number zero It will be True if A1 contains a number not equal to zero It will be False if A1 is a blank cell All other cases it will be #VALUE 

如果你想压制#VALUE,那么write = IFERROR(IF(A1,True,False),“Hello”)打印“Hello”而不是#VALUE。

希望有点帮助。

看看这是否有效。

 =IF(AND([@[LL Billed]],[@Paid]),NETWORKDAYS([@Closed],[@Paid]),NETWORKDAYS([@Closed],TODAY())) 

许多问题都会影响你认为有价值的东西。 非空白,大于0 ,数字与文字。 错误。 很多变数发挥作用,没有更多关于您的数据的信息,这是我觉得我可以为您提供的最好的