如何添加dynamic计算作为标准?

假设在A列中,我有一个开始date列表,在B列中,我有一个结束date列表。 我希望构build一个公式(不添加额外的列),计算结束date从开始date起超过120天的时间。

我在C1中尝试了下面的公式:

=COUNTIF(B:B,A:A-120)

但它不起作用,因为COUNTIF公式的第二个属性是一个标准,似乎并不接受一个范围。 它把A:A当作A1,因为我把我的公式放在C1中。

注意:只需要一个公式即可解决,不能添加额外的列或数组,也不能添加VBA。

更新:有些行在没有可用date时写入“NULL”,因此它不适用于=SUMPRODUCT(--(A:A<B:B-120))

您可以使用SUMPRODUCT ,而您可以使用范围:

 =SUMPRODUCT(--(A:A<B:B-120)) 

如果A:A在移除120天后比B:B小,那么(A:A<B:B-120)对于适用的每行都将返回true,否则返回false。

--在开始时将分别转换为1和0, SUMPRODUCT添加它们。

请注意,如果您使用较小的范围,例如A1:A100和B1:B100(或您计算的任何范围),公式将会更快。


如果您的范围中有非date,请尝试使用此function:

 =SUM(IFERROR(A:A<B:B-120,0)*1) 

在公式中input公式后,按下Ctrl + Shift + Enter可以调用它(可以使用SUMPRODUCT ,但是它需要数组调用,所以你可能只需要使用SUM )。