Excel COUNTIFS计算日期范围内的月数

时间:2015-02-25 14:48:01

标签: excel excel-formula

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

=COUNTIFS('2014'!$F:$F, B3, '2014'!$H:$H, A13)

但是我不想将特定月份作为条件包括在内,但日期范围的格式为3/11/2014。我查了几种不同的方法,可以使用=SUMPRODUCT()MONTH公式的组合计算日期列表中的特定月份,但无法找到适用于COUNTIFS的方法功能也满足原始条件。

我甚至试图通过使用外卡来思考,

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

唉无济于事。

是否有人知道是否有办法将特定月份计入=COUNTIFS()函数?

编辑*

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

的帮助列
=TEXT(A1, "DD/MM/YYYY")

并将其与我原来的外卡解决方案联系起来

=COUNTIFS('2014'!$F:$F, B3, '2014'!$H:$H, A13, '2014'!$I:$I, "*/11/2014")
然而,在一些不那么神圣的东西之后仍然存在!

3 个答案:

答案 0 :(得分:2)

由于似乎所有 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:$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.

答案 1 :(得分:1)

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

=COUNTIFS(A:A,">"&41639,A:A,"<"&41650)  

假设您的日期是数字而不是字符串。

答案 2 :(得分:0)

如果您测试的月份是数字格式(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。这些测试中的每一项都会返回TRUEFALSETRUE也是1False也是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  

每个条件都在它自己的paranthetical语句中,并乘以其他条件,以便它将产生1或0,当它完成测试范围内的每一行时,SUMPRODUCT将加起来。