0

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

这是我的烂摊子:

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

所有引用的单元格要么包含日期,要么为空白。目前,如果@[LL Billed] 为空白且@Paid 为空白(@close 始终包含日期),我会返回一个整数(这就是它的工作方式)。

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

我想避免完全重组这个 IF 函数,因为它与工作簿中的其他函数对称。我可以在逻辑测试中使用另一种“速记”测试吗?我试过嵌套 NOT-ISBLANK-AND 函数,但无济于事,而且很乱。

有什么建议么?

4

3 回答 3

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。

希望那些对你有帮助。

于 2013-05-20T15:10:26.537 回答
1

看看这是否有效。

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

很多问题都与您认为的价值有关。不是空白,大于0,数字与文本。错误。很多变量都在起作用,没有更多关于你的数据的信息,这是我觉得我可以为你提供的最好的

于 2013-05-20T15:11:16.633 回答
1

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

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

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

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

注意:如果您愿意,可以通过在 NETWORKDAYS 中嵌入 IF 函数来缩短公式,即

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

于 2013-05-20T15:11:25.190 回答