我可以说,如果[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功能,但无济于事,加上它很乱。
有什么建议吗?
答案 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()))