Excel COUNTIFS统计日期范围内的月份

Excel COUNTIFS统计日期范围内的月份,excel,excel-formula,Excel,Excel Formula,我目前正在使用=COUNTIFS()函数来计算满足两个条件的值的数量 =COUNTIFS('2014'!$F:$F, B3, '2014'!$H:$H, A13) 但是,我不想将具体月份作为条件,但日期范围为2014年11月3日。我已经找到了几种不同的方法,可以使用=SUMPRODUCT()和MONTH公式组合从日期列表中计算特定月份,但找不到一种在COUNTIFS函数中也能满足原始条件的方法 我甚至尝试用通配符跳出框框思考 =COUNTIFS('2014'!$F:$F, B3, '2014'

我目前正在使用
=COUNTIFS()
函数来计算满足两个条件的值的数量

=COUNTIFS('2014'!$F:$F, B3, '2014'!$H:$H, A13)
但是,我不想将具体月份作为条件,但日期范围为2014年11月3日。我已经找到了几种不同的方法,可以使用
=SUMPRODUCT()
MONTH
公式组合从日期列表中计算特定月份,但找不到一种在
COUNTIFS
函数中也能满足原始条件的方法

我甚至尝试用通配符跳出框框思考

=COUNTIFS('2014'!$F:$F, B3, '2014'!$H:$H, A13, '2014'!$A:$A, "*/11/2014")
唉,没有用

有人知道有没有一种方法可以将特定月份的计数包含到
=COUNTIFS()
函数中

编辑*

我有一个临时修复,这不是一个确定的fire解决方案,但我创建了一个包含

=TEXT(A1, "DD/MM/YYYY")
并将其与我最初的通配符解决方案相结合

=COUNTIFS('2014'!$F:$F, B3, '2014'!$H:$H, A13, '2014'!$I:$I, "*/11/2014")

然而,还是在一些不那么可怕的事情之后

如果您测试的月份是数字格式(1月是1日,2月是2日,等等),您可以使用以下内容:

=SUMPRODUCT(('2014'!$F:$F= B3)*('2014'!$H:$H= A13)*(Month('2014'!$A:$A) = 5)*1)
例如,这将查找May值

这是如何工作的

SUMPRODUCT
通过测试一系列单元的条件来工作。对于每一行,在我们的例子中,我们测试
F
是否保存B13的值,
H
是否保存A13的数据,
A
的月份是否为
5
。这些测试中的每一个都将返回一个
TRUE
FALSE
TRUE
也是一个
1
False
也是一个
0
,因此测试一行将如下所示:

Row 1:   TRUE  * TRUE * TRUE  * 1 = 1
Row 2:   FALSE * TRUE * TRUE  * 1 = 0
Row 3:   TRUE  * TRUE * FALSE * 1 = 0
Row 4:   TRUE  * TRUE * TRUE  * 1 = 1
--------------------------------------
TOTAL:                              2  

每个条件都在它自己的偏执陈述中,并与其他条件相乘,从而得到1或0,当它测试完范围内的每一行时,SUMPRODUCT将加起来。

例如,对于1月份,您可能会合并以下内容:

=COUNTIFS(A:A,">"&41639,A:A,"<"&41650)  
=COUNTIFS(A:A,“>”&41639,A:A,“因为您的excel日期似乎都设置为
dd/mm/yyyy
的格式,所以此公式应适用于:

=COUNTIFS('2014'!$F:$F, B3, '2014'!$H:$H, A13, '2014'!$A:$A, ">="&EOMONTH(DATE(2014,10,1),0)+1,'2014'!$A:$A,"<"&EOMONTH(DATE(2014,11,1),0)+1)

=COUNTIFS('2014'!$F:$F,B3,'2014'!$H:$H,A13,'2014'!$A:“>=”&EOMONTH(日期(2014,10,1),0)+1,'2014'!$A:$A,“=”&EOMONTH(日期(2014,10,1),0)+1,'2014'!$A:“都是2014年的日期吗?是的,都是2014年的日期吗?谢谢。你的数据是
d/mm/yyyyyy
?是的,都是正确的,
returns
25/02/2015
当它返回
#VALUE
时,您能解释一下它是如何工作的吗?非常感谢您的帮助。当然。我刚刚添加了一个sumproduct的快速解释。这是一个有趣的解释。啊,太棒了,我会抖动一下,看看是否遗漏了导致我错误的任何内容,谢谢!如果您在一个文本值,然后您会得到#value!错误,因此,如果您在第1行中有标题,例如,这将是一个问题-尝试使用特定的行范围而不是整个列-我认为这是最好的方法-尤其是对于大范围-但一般来说,我建议始终使用>=1st和<1st of next month,这将始终正确捕获所有d即使包含时间值,当月的ates(其他月份没有日期)
=COUNTIFS('2014'!$F:$F, B3, '2014'!$H:$H, A13, '2014'!$A:$A, ">="&EOMONTH(DATE(2014,10,1),0)+1,'2014'!$A:$A,"<"&EOMONTH(DATE(2014,11,1),0)+1)
                                                                                    ^^ change 10 to one month prior               ^^ change 11 to the month you want.