使用数据透视表+count函数公式,可以在1分钟内轻松完成。但是,用文字描述这些操作步骤,反而费劲,不如直接给你编个“宏”代码,运行之后直接得到结果:
Sub 统计车辆出勤()
ed = [c65536].End(3).Row
arr = [a1].Resize(ed, 3).Value
Set dic = CreateObject("scripting.dictionary")
For i = 2 To ed
No_date = arr(i, 3) & "_" & arr(i, 1)
If Not dic.exists(No_date) Then
dic.Add No_date, ""
End If
Next
brr = dic.keys
dic.RemoveAll
For i = 0 To UBound(brr)
No = Split(brr(i), "_")(0)
If Not dic.exists(No) Then
dic.Add No, 1
Else
dic.Item(No) = 1 + dic.Item(No)
End If
Next
With [iv1].End(xlToLeft)
.Offset(1, 1).Resize(dic.Count, 1) = Application.Transpose(dic.keys)
.Offset(1, 2).Resize(dic.Count, 1) = Application.Transpose(dic.Items)
.Offset(0, 1) = "车号"
.Offset(0, 2) = "出勤天数"
End With
End Sub
公式:
=SUM(IF(MATCH(A2:A100,A2:A100,)=ROW(A2:A100),1))
摁键盘上的 SHIFT+CTRLA+回车 结束公式的输入。
1.需要数据格式
2.是否出去一次就算1天 不管一天出去多少趟
5270本月出勤次数为:=countif(b2:b26,"5270")
其他同理可得。