Excel COUNTIFS在date范围内计算月份
我正在使用=COUNTIFS()
函数来计算满足两个条件的值的数量。
=COUNTIFS('2014'!$F:$F, B3, '2014'!$H:$H, A13)
不过,我不想也包括具体的月份作为条件,但date的范围是格式,3/11/2014。 我查了几个不同的方法,可以使用=SUMPRODUCT()
和MONTH
公式的组合来计算特定月份的特定月份,但是无法find一个在COUNTIFS
函数中工作以满足原始条件的方法。
我甚至试图通过使用通配符来思考问题,
=COUNTIFS('2014'!$F:$F, B3, '2014'!$H:$H, A13, '2014'!$A:$A, "*/11/2014")
唉,无济于事。
有谁知道是否有一种方法,包括计数特定的月份=COUNTIFS()
函数?
编辑*
我有一个临时修复,这不是一个确定的解决scheme,但我已经创build了一个帮助列包含
=TEXT(A1, "DD/MM/YYYY")
并将其与我原来的通配符解决scheme绑在一起
=COUNTIFS('2014'!$F:$F, B3, '2014'!$H:$H, A13, '2014'!$I:$I, "*/11/2014")
不过还是要稍微less一些bodgy!
因为看起来你所有的exceldate都设置为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)
这基本上检查列整个月的跨度。 所有date大于或等于所需月份的开始date,所有date小于下个月的开始date。
要更改月份:
=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月份,您可能会join如下内容:
=COUNTIFS(A:A,">"&41639,A:A,"<"&41650)
假设你的date是数字而不是string。
如果您正在testing的月份是数字格式(1月1日,2月2日等),您可以使用以下内容:
=SUMPRODUCT(('2014'!$F:$F= B3)*('2014'!$H:$H= A13)*(Month('2014'!$A:$A) = 5)*1)
例如,这将查找May值。
这是如何工作的 :
SUMPRODUCT
通过testing一系列单元的条件来工作。 对于每一行,在我们的例子中,我们testingF
保持B13的值, H
保存A13的数据,而A
的月份是5
。 每个testing都会返回TRUE
或FALSE
。 TRUE
也是1
而False
也是0
,所以testing一个行将如下所示:
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,当testing你的范围内的每一行时,SUMPRODUCT将加起来。