在Excel中的范围的DATEDIF

我有一个创builddate和closuresdate2列的Excel表。 我试图获得一定数量的生命周期值(生命周期=创build和closuresdate之间#天)的logging数。 例如,有多less条logging的寿命是40天以上。

我不能修改表添加新的列(我试图做我的计算closures在一个单独的工作表,而不用修改主表与数据)。

我试图做的是这样的:

=COUNTIF(DATEDIF(MyTable[CreatedDate], MyTable[ClosedDate], "d"), "> 40") 

这个公式不起作用,我相信有几个原因:你不能将范围传递给DATEDIF,DATEDIF也会返回一个离散值,但是COUNTIF期望一个范围。

看来,我想要做的显然不适用于范围。 有没有办法做两个范围之间的DATEDIF,然后返回一个新的范围,以便我可以COUNTIF呢? 或者其他方式来实现我的目标?

一些示例数据(生命期不是我的表中的实际列,只是为了方便而包括在内):

 Created Date Closed Date Lifetime 9/20/2012 10/19/2012 29 9/20/2012 10/27/2012 37 9/20/2012 12/26/2012 97 9/20/2012 10/23/2012 33 9/20/2012 11/23/2012 64 10/19/2012 12/14/2012 56 

注意:每个logging将有一个有效的创build和closuresdate。

更新:@pnutsbuild议一个公式,可能会或可能无法正常工作:

 =COUNTIF(MyTable[ClosedDate], ">"&MyTable[CreatedDate]+40) 

我不确定到底发生了什么,但取决于工作表中的单元格,我将该公式放在了不同的结果中。 这是一个屏幕截图,每个单元格都具有相同的公式,如公式栏中所示。

在这里输入图像说明

如果有人想在我的示例Excel文件中尝试一下,可以在这里抓取它: 示例Excel文件

请注意@pnuts的公式,如果你使用它作为数组公式,也就是说,如果你使用Ctrl + Shift + Enter

您可以使用的非数组公式:

 =SUMPRODUCT(((Table1[Closed Date]-Table1[Created Date])>40)*1) 

Table1[Closed Date]-Table1[Created Date]Table1[Closed Date]-Table1[Created Date]之间的区别,当你在后面放置>40时,你会得到一系列的布尔(True / False),最后*1将True转换为1,虚假为0. SUMPRODUCT把它们全部加起来。

使用这个数组公式(Ctrl + Shift + Enter):

=SUM(IF((Table[ClosedDate])-(Table[CreatedDate])>=40,1,0))