本月计数date值 – MS Excel

A列中有以下date值(时间)

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中获取具有当前月份的date值的单元格。

我想过下面的公式,但我怀疑它只能在具有mm-dd-yyyy作为系统date格式的机器上工作。

 =COUNTIFS(A:A,">="&DATEVALUE(MONTH(TODAY())&"-1"&"-"&YEAR(TODAY())),A:A,"<"&DATEVALUE(MONTH(TODAY())+1&"-1"&"-"&YEAR(TODAY()))) 

任何解决方法/诀窍呢?

你可以像这样使用当前月份的COUNTIFS

=COUNTIFS(A:A,">="&EOMONTH(TODAY(),-1)+1,A:A,"<"&EOMONTH(TODAY(),0)+1)

试试这个: =SUM(IF(MONTH(TODAY())=MONTH(A:A),1,0)) ,但按CTRL + SHIFT + ENTER而不是通常的ENTER – 这将定义一个ARRAY公式, {}括号(但不要手动input)。

把公式放在你喜欢的任何单元格中。

数组公式的替代方法是使用SUMPRODUCT()

 =SUMPRODUCT(--(MONTH(A:A)=MONTH(TODAY()))) 

--部分是必要的:它将TRUE / FALSE值转换成数字。 需要双负才能得到正值: =VALUE(TRUE)给出错误, =VALUE(-TRUE)给出-1 ,所以=VALUE(--TRUE)给出+1