Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3654|回复: 7

[已解决]求考勤记录在电子表格中汇总

[复制链接]
发表于 2014-6-6 13:19 | 显示全部楼层 |阅读模式
已知打卡时间,如何在表格中进行汇总统计,谢谢!QQ   291875652    求每位员工出勤总天数,迟到早退次数           第一班上班时间为早7:30分,中午11:30分下班,下午14:30分上班,晚上20:30分下班。     第二班是中午11:30分上班,晚上20:30分下班。请各位高手帮忙,感激不尽!
最佳答案
2014-6-6 14:02
请看附件。不知结果对不对哦。
 楼主| 发表于 2014-6-6 13:20 | 显示全部楼层
这是考勤数据,谢谢高手帮助。

426-525.rar

469.23 KB, 下载次数: 20

回复

使用道具 举报

发表于 2014-6-6 14:00 | 显示全部楼层
  1. Sub tt()
  2.     arr = [a1].CurrentRegion
  3.     Set dic = CreateObject("scripting.dictionary")
  4.     ReDim brr(UBound(arr), 1 To 5)
  5.     brr(0, 1) = "考勤号码": brr(0, 2) = "姓名"
  6.     brr(0, 3) = "出勤次数": brr(0, 4) = "迟到次数": brr(0, 5) = "早退次数"
  7.     For i = 2 To UBound(arr)
  8.         If arr(i, 6) <> "重复记录" And arr(i, 6) <> "无效记录" Then   '去掉重复、无效记录
  9.             d = DateValue(arr(i, 3)) '日期
  10.             t = TimeValue(arr(i, 3))  '时间
  11.             xkey = arr(i, 2): ykey = arr(i, 2) & d
  12.             If Not dic.exists(xkey) Then
  13.                 n = n + 1
  14.                 dic(xkey) = n
  15.                 brr(n, 1) = arr(i, 1)
  16.                 brr(n, 2) = arr(i, 2)
  17.             End If
  18.             p = dic(xkey)
  19.             If Not dic.exists(ykey) Then      '名字+日期去重即为出勤天数
  20.                 brr(p, 3) = brr(p, 3) + 1
  21.                 dic(ykey) = ""
  22.             End If
  23.             If InStr(arr(i, 5), "签到") > 0 Then   '签到:上班时间7:30—11:30之间,14:30以后属迟到
  24.                 If (t > TimeValue("7:30") And t < TimeValue("11:30")) Or _
  25.                    t > TimeValue("14:30") Then brr(n, 4) = brr(n, 4) + 1
  26.             ElseIf InStr(arr(i, 5), "签退") > 0 Then   '签退:11:30前,14:30—20:30之间属早退
  27.                 If t < TimeValue("11:30") Or _
  28.                    (t > TimeValue("14:30") And t < TimeValue("20:30")) Then brr(n, 5) = brr(n, 5) + 1
  29.             End If
  30.         End If
  31.     Next
  32.     [j1].Resize(n + 1, 5) = brr
  33. End Sub
复制代码
回复

使用道具 举报

发表于 2014-6-6 14:02 | 显示全部楼层    本楼为最佳答案   
请看附件。不知结果对不对哦。

426-525.rar

491.3 KB, 下载次数: 101

回复

使用道具 举报

 楼主| 发表于 2014-6-6 17:40 | 显示全部楼层
grf1973 发表于 2014-6-6 14:02
请看附件。不知结果对不对哦。

可以把操作步骤发个附件给我吗,谢谢!上面的我还是有些不大懂
回复

使用道具 举报

发表于 2014-6-10 10:47 | 显示全部楼层
这几天忙,没时间来。何谓操作步骤,按钮点一下就是了。
回复

使用道具 举报

 楼主| 发表于 2014-6-11 13:19 | 显示全部楼层
grf1973 发表于 2014-6-10 10:47
这几天忙,没时间来。何谓操作步骤,按钮点一下就是了。

嗯,谢谢!我的意思是,如果我自己去设置这个模板的话,从哪里开始,怎么操作?
回复

使用道具 举报

 楼主| 发表于 2014-6-11 13:20 | 显示全部楼层
ganlanshan 发表于 2014-6-11 13:19
嗯,谢谢!我的意思是,如果我自己去设置这个模板的话,从哪里开始,怎么操作?

宏,我不熟……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-20 13:19 , Processed in 0.376844 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表