我目前正在使用=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")
然而,在一些不那么神圣的东西之后仍然存在!
答案 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
。这些测试中的每一项都会返回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
每个条件都在它自己的paranthetical语句中,并乘以其他条件,以便它将产生1或0,当它完成测试范围内的每一行时,SUMPRODUCT将加起来。