计算列中的日期

计算列中的日期

我有列中的数据A。有些值是日期,有些不是:

Cat
1234
12/25/2016
$123.45
6/10/2016

我想计算列中包含特定格式日期的单元格数。我感兴趣的是计算细胞()工作表函数返回“D4”

我可以使用辅助列来做到这一点;B1我输入:

=CELL("format",A1)

然后复制下来。然后在另一个单元格中:

=COUNTIF(B:B,"D4")

在此处输入图片描述

我也可以使用 VBA UDF 来做到这一点:

Public Function DateCounter(rng As Range) As Long
    Dim r As Range
    For Each r In rng
        If IsDate(r) Then DateCounter = DateCounter + 1
    Next r
End Function

我想在没有 VBA 和“帮助”列的情况下完成此操作。

我尝试过的是:

=SUMPRODUCT(--(CELL("format",A1:A5)="D4"))

但这总会回来0 (可以作为普通公式或数组公式)

答案1

CELL()不支持数组。这是一个古老而众所周知的限制;我认为你能做的不多,除了使用你自己的逻辑来CELL()检查日期格式,检查斜线是否在正确的位置,月份数字是否有效等等;这会很乏味,但没有其他办法。

相关内容