计算当月的日期值 - MS Excel

时间:2013-02-07 09:28:14

标签: excel excel-formula formula formulas

我在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())))

对此有任何解决方法/技巧吗?

3 个答案:

答案 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