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

时间:2013-05-20 15:06:13

标签: excel excel-2010 boolean-logic

我可以说,如果[cell]包含一个值,IF([cell],TRUE,FALSE)总是返回TRUE,但我在Excel 2010中找不到关于此类真值测试的任何文档我不知道它叫什么,我能找到的所有文档似乎都需要在IF函数的第一个字段中使用一些条件运算符。这是一个简写,一个错误,还是我以一种无意的方式使用其他功能?

这是我的烂摊子:

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

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

我需要做的是更改此公式,以便逻辑测试检查@ [LL Billed]和@Paid中是否存在值;如果两者都包含值,则应返回TRUE,如果其中任何一个不包含值,则返回FALSE。

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

有什么建议吗?

3 个答案:

答案 0 :(得分:1)

考虑公式= 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,则写入= IFERROR(IF(A1,True,False),“Hello”)打印“Hello”而不是#VALUE。

希望有所帮助。

答案 1 :(得分:1)

看看这是否有效。

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

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

答案 2 :(得分:1)

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

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

如果COUNT = 2,则两个单元格都有日期

顺便说一句,如果您使用带有数字作为测试的IF函数,它总是返回TRUE .....除非数字为零,在这种情况下它返回FALSE

注意:如果您希望通过在IFWORKDAYS中嵌入IF函数来缩短公式,即

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