Excel中某个范围上的DATEDIF

Excel中某个范围上的DATEDIF,excel,excel-formula,excel-2010,Excel,Excel Formula,Excel 2010,我有一个Excel表格,其中有两列是创建日期和关闭日期。我试图在一定的生命周期值范围内(生命周期=#创建日期和关闭日期之间的天数)获取记录计数。例如,有多少记录的生命周期为40天以上 我无法修改表以添加新列(我试图在单独的工作表中进行计算,而不使用数据修改主工作表) 我想做的是: =COUNTIF(DATEDIF(MyTable[CreatedDate], MyTable[ClosedDate], "d"), "> 40") 这个公式不起作用,我相信有两个原因:不能将范围传递给DATED

我有一个Excel表格,其中有两列是创建日期和关闭日期。我试图在一定的生命周期值范围内(生命周期=#创建日期和关闭日期之间的天数)获取记录计数。例如,有多少记录的生命周期为40天以上

我无法修改表以添加新列(我试图在单独的工作表中进行计算,而不使用数据修改主工作表)

我想做的是:

=COUNTIF(DATEDIF(MyTable[CreatedDate], MyTable[ClosedDate], "d"), "> 40")
这个公式不起作用,我相信有两个原因:不能将范围传递给DATEDIF,DATEDIF也返回离散值,但COUNTIF需要一个范围

看来我要做的显然不适用于范围。有没有一种方法可以在两个范围之间进行DATEDIF,然后返回一个新的范围,这样我就可以计算它是否存在?或者用其他方法来实现我的目标

一些示例数据(生命周期不是我表中的实际列,只是为了方便起见才包括在这里):

注意:每条记录都有一个有效的创建和关闭日期

更新:@pnuts建议了一个可能有效也可能无效的公式:

=COUNTIF(MyTable[ClosedDate], ">"&MyTable[CreatedDate]+40)
我不确定到底发生了什么,但根据我在工作表中放入的单元格,我会得到不同的结果。这是一个屏幕截图,每个单元格都有一个相同的公式,如公式栏所示

如果有人想在我的示例Excel文件中试用它,您可以在这里找到它:

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


=SUM(如果((表[ClosedDate])-(表[CreatedDate])>=40,1,0))

请注意,如果将@pnuts'公式用作数组公式,即使用Ctrl+Shift+Enter,则@pnuts'公式有效

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

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

Table1[Closed Date]-Table1[Created Date]
是日期之间的差异,当您将
>40
放在它后面时,您将得到一系列布尔值(真/假),最后的
*1
将真转换为1,将假转换为0
SUMPRODUCT
将它们相加。

平均值(MyTable[ClosedDate])-average(MyTable[CreatedDate])的值是多少?此外,组合中是否有未完成的开放记录?@zipzit-很有趣,因此您的建议返回了正确的结果。但是我使用平均值的问题比我的实际问题简化了一点,给我一分钟,我会更新问题。@pnuts-是的,我的数据也有时间,但我并不真正关心它们。我没有将其包含在问题的样本数据中,因为我没有意识到它的重要性。注意,对于任何对此问题迟到的人,我对问题进行了重大更新,以反映我的真实问题。好的,我理解为什么我会看到这种奇怪的行为,它正在评估COUNTIF(CreatedDate)中的第二个参数设置为与公式所在单元格对齐的单个值。它没有像我们希望的那样将其作为一个范围。我没有得到正确的结果,而且它似乎遇到了与pnuts建议相同的问题,根据我在工作表中输入公式的单元格,它会给出不同的结果。您是否按了Ctrl+Shift+Enter键?你应该在你的配方周围看到大括号。啊哈!我错过了ctrl/shift/enter部分。啊,我以前从未见过这个数组公式。我将不得不仔细阅读,但你们是正确的,当我做pnuts公式和花括号它的作品(作为你们的SUMPRODUCT替代品)!胡萨@DylanSmith这是可以理解的,当我第一次在这里偶然发现数组公式时,我也有点困惑:)@pnuts没关系,这发生在我们当中最好的人身上:)
=SUMPRODUCT(((Table1[Closed Date]-Table1[Created Date])>40)*1)