在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))