【问题标题】:Countif with dates does not workCountif 与日期不起作用
【发布时间】:2017-06-05 14:16:03
【问题描述】:

我找不到类似的问题,所以我问了一个新问题。

我有一个包含两列的工作表 - 第一列显示月份和年份,格式如下“mon.year”,例如“apr.2017”,第二列显示数字。该数字必须代表按特定条件过滤的其他一些日期的计数。我在另一张纸上有这些日期 - 一列有名称,一列有日期。 我想要做的是从第二张表中计算日期的数量,例如从 2017 年 6 月开始,并将数字放在第一张表的第二列中。

这是第一张纸的样子:

这就是第二张数据表的样子:

我要找的结果是这样的:

所以,我尝试了以下代码,但我不知道为什么它不起作用。

对如何改进公式有什么建议吗?

编辑:所以,下面的两个 cmets 对我都有帮助,但由于公式最多必须简化(我的同事使用 excel 文件,而不是我)我选择在两个隐藏列中计算月份和年份,然后对它们使用 countif 公式。

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:

    您需要将日期括起来:

    =COUNTIFS('1'$B$2:$B$26,">=" & EOMONTH(A2,-1)+1,'1'$B$2:$B$26, "<" & EOMONTH(A2,0)+1)
    

    【讨论】:

      【解决方案2】:

      对于 Excel,日期/时间只是一个格式化的数字,即自固定时期以来的天数。

      "="&amp;MONTH(A2) 是一个表达式,它将字符串= 与函数MONTH(A2) 的结果连接起来,即1。表达式的结果是=1,这是COUNTIFS 看到的。

      您实际上是在告诉 COUNTIFS 匹配序列号为 1 的日期/时间(1999 年 12 月 31 日午夜)。同样,第二个条件将完全匹配 1905 年 7 月 9 日午夜。

      我的建议是在不同的列上计算每个日期的月份和年份,并在这些列上使用COUNTIFS

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-15
        • 1970-01-01
        • 2018-11-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多