我在A栏中有以下日期值(带时间)。
1/1/2012 8:50
1/1/2012 8:45
1/1/2012 8:55
1/1/2012 8:59
1/1/2012 8:12
3/1/2012 8:30
1/1/2012 9:50
2/1/2012 10:00
现在,我希望从A列中获取具有当前月份日期值的单元格数。
我考虑过以下公式,但我怀疑它只适用于mm-dd-yyyy作为系统日期格式的机器。
=COUNTIFS(A:A,">="&DATEVALUE(MONTH(TODAY())&"-1"&"-"&YEAR(TODAY())),A:A,"<"&DATEVALUE(MONTH(TODAY())+1&"-1"&"-"&YEAR(TODAY())))
对此有任何解决方法/技巧吗?
答案 0 :(得分:3)
试试这个:=SUM(IF(MONTH(TODAY())=MONTH(A:A),1,0))
,但是按 CTRL + SHIFT + ENTER 而不是通常 ENTER - 这将定义一个ARRAY公式,并在其周围生成{}
括号(但不要手动输入!)。
将公式放在您喜欢的任何单元格中。
答案 1 :(得分:2)
您可以像当前一样使用COUNTIFS当月
=COUNTIFS(A:A,">="&EOMONTH(TODAY(),-1)+1,A:A,"<"&EOMONTH(TODAY(),0)+1)
答案 2 :(得分:1)
数组公式的替代方法是使用SUMPRODUCT()
:
=SUMPRODUCT(--(MONTH(A:A)=MONTH(TODAY())))
--
部分是必要的:它将一个TRUE / FALSE值数组转换为数字。需要双重否定才能获得正值:=VALUE(TRUE)
会出错,=VALUE(-TRUE)
会给出-1
,因此=VALUE(--TRUE)
会给出+1
。