我有一个 excel 文件,date
其中的格式如下,6/30/17 9:23 AM
日期列中有很多值
如何计算日期列中上午发生的总次数和下午发生的总次数
答案1
使用此公式AM
:
=SUMPRODUCT(--(HOUR($A$1:$A$100)<12))
替换为PM
<
>=
如果您的范围可能包含空白单元格并且您想避免计算它们,则可以使用:
=SUMPRODUCT(ISNUMBER(A1:A100)*(HOUR($A$1:$A$100)<12))
答案2
您可以使用数组公式与和和小时函数来执行计算。例如,假设时间戳存储在单元格 A1 到 A100 中,则可以使用以下公式:
AM =SUM((HOUR(A1:A100)<12)*1)
PM =SUM((HOUR(A1:A100)>11)*1)
输入公式后,按下 control-shift-enter,也就是同时按下这三个键。然后公式将显示如下:
AM {=SUM((HOUR(A1:A100)<12)*1)}
PM {=SUM((HOUR(A1:A100)>11)*1)}
答案3
尝试以下两个用户定义函数:
Public Function KountPM(rng As Range) As Long
Dim r As Range, s As String
For Each r In rng
s = r.Text
If Len(s) > 1 Then
If Right(s, 2) = "PM" Then KountPM = KountPM + 1
End If
Next r
End Function
Public Function KountAM(rng As Range) As Long
Dim r As Range, s As String
For Each r In rng
s = r.Text
If Len(s) > 1 Then
If Right(s, 2) = "AM" Then KountAM = KountAM + 1
End If
Next r
End Function