一个或许相当简单的问题,我无法在这里找到答案:
我想计算此数据集中的实例,其中实例的开始和结束日期之间的持续时间超过六个月。
我特别希望能够在数组公式中执行此操作,因为我对此技术的预期实现是在一个更大的数据集上,我希望尽可能保持干净,因此没有带有和或减法的列。
A B
StartDate EndDate
2017-05-01 2017-08-01
2016-07-01 2017-06-01
2015-09-01 2017-06-01
2015-08-01 2015-09-01
2016-02-01 2018-01-01
{= SUM(IF((A:A-B:B)> 183,1,0))}
这是我直截了当地尝试这样做的,它会返回一个#VALUE错误。如何让这个功能返回" 3"这是我在这种情况下试图查询的正确答案吗?
非常感谢!
答案 0 :(得分:0)
尝试,
=sumproduct(--(b2:index(b:b, match(1e99, a:a))-a2:index(a:a, match(1e99, a:a))>183))
'alternate
=sumproduct(--(abs(a2:index(a:a, match(1e99, a:a))-b2:index(b:b, match(1e99, a:a)))>183))
答案 1 :(得分:0)
您的公式逻辑绝对正确。但是,您需要注意以下两点。
您要包含所有单元格,其中一些可能包含文本(例如标题),这些将返回错误,最终结果为#VALUE
。
开始日期小于结束日期,因此所有减法结果将小于或等于0.
因此,如果您修改自己的公式,如下所示 CTRL + SHIFT + ENTER ,那么您将得到正确的结果。
=SUM(IF((B1:B6-A1:A6)>183,1,0))
或者您可以使用整列参考(不推荐)。
=SUM(IF(IFERROR(B:B-A:A,0)>183,1,0))