【问题标题】:Count Date Values of Current Month - MS Excel计算当前月份的日期值 - MS Excel
【发布时间】:2013-02-07 09:28:14
【问题描述】:

我在 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 作为 System-Date-Format 的机器。

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

有什么解决方法/技巧吗?

【问题讨论】:

    标签: excel excel-formula formula formulas


    【解决方案1】:

    试试这个:=SUM(IF(MONTH(TODAY())=MONTH(A:A),1,0)),但按 CTRL+SHIFT+ENTER 而不是通常的 ENTER -这将定义一个 ARRAY 公式,并在其周围产生{} 括号(但不要手动输入它们!)。

    将公式放入您喜欢的任何单元格中。

    【讨论】:

    • 您好,感谢您的正确回答。您能否扩展您的公式以检查当前年份?我试过这样做,但它总是显示为零
    • @Tejas 你的意思是单个日期的当前月份和年份?
    • @Tejas 如果是 - 试试这个:=SUM(IF(MONTH(TODAY())=MONTH(A:A),1,0)*IF(YEAR(TODAY())=YEAR(A:A),1,0)) - 也是一个数组公式。
    • 对于SUMPRODUCT=SUMPRODUCT(--(MONTH(TODAY())=MONTH(A:A)),--(YEAR(TODAY())=YEAR(A:A)))
    【解决方案2】:

    您可以像这样在当前月份使用 COUNTIFS

    =COUNTIFS(A:A,"&gt;="&amp;EOMONTH(TODAY(),-1)+1,A:A,"&lt;"&amp;EOMONTH(TODAY(),0)+1)

    【讨论】:

    • 哇!它也会考虑当前月份。对吗?
    • 是的,它只计算当年当前月份内的日期值,所以目前是 2013 年 2 月 - 日期可以包含时间或不包含时间
    • 伟大的公式!你不认为 >= 和
    • 不,公式应该按书面形式工作 - EOMONTH(TODAY(),-1)+1 给你当月的第一天,EOMONTH(TODAY(),0)+1 给你下个月的第一天,所以公式计算 >= 前者和
    • @barryhoudini 伙计,这太棒了 - 一如既往)我的 +1 也是!
    【解决方案3】:

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

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

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

    【讨论】:

    • 您好,感谢您的正确回答。您能否扩展您的公式以检查当前年份?我试过这样做,但它总是显示为零
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-17
    • 2015-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多