上个月我帮市场部整理考勤,那叫一个头大。20多号人,每天打卡时间不一,有人半夜改签机票,有人周末临时加班,月底HR抱着一叠纸找我,眼神里写满了“救救孩子”。我二话不说,掏出那个用了三年的Excel工时表,十来分钟搞定,她当场就问:“这模板能发我一份不?”
其实这表没那么玄乎,就是把**打卡时间自动转成工时**,再把**超过8小时的部分自动算成加班**,连法定节假日都自动标红。我用的是最基础的日期+时间函数,没用任何插件,连VBA都没碰,纯靠公式堆出来的。很多人一上来就想搞复杂,结果卡在“为什么时间对不上”上,其实问题往往出在单元格格式。
你得先确认打卡时间那列,别看着像时间,其实是个文本。我见过太多人复制粘贴后,时间变成一串数字,比如44256.729,看着像乱码。这时候别急着算,选中整列,右键“设置单元格格式”,选“时间”类型,选带秒的那款,**时间格式对了,后面才不会乱套**。
工时计算我用的是两个时间相减,比如下班减上班,但得防着跨天的情况。有人凌晨1点下班,第二天早上9点打卡,你直接减,结果出来负数。我加了个IF判断,如果下班时间小于上班时间,就默认是第二天,自动加一天。公式不长,但特别管用:=(B2-A2+(B2
加班判断更简单,工时超过8小时,就显示加班时长。我用的是=IF(C2>8,C2-8,0),C2是刚才算出的总工时。但很多人忘了,**加班不能算进正常工时里**,所以我在旁边再列一列“应发工时”,用MIN(C2,8)把超时部分截掉,这样工资系统导入才不会重复计算。
最容易踩的坑是节假日。我直接拉了国家法定节假日表,放在另一个Sheet里,用VLOOKUP匹配日期,如果当天是节假日,不管几点打卡,都自动按1.5倍算加班。有次新来的实习生把“国庆节”打成“国庆”,结果系统全漏了,我盯着她改了三遍才明白,**日期匹配必须一字不差,空格都不能多**。
还有人喜欢用手机截图打卡,时间格式乱七八糟,什么“2024/6/15 18:30”“2024-06-15 18:30:00”混着来。我教他们用“数据-分列”功能,选“固定宽度”,把日期和时间拆开,再统一格式,省得后面一堆错误值。
别小看这个表,月底HR拿着它去跟老板汇报,连加班率、人均工时、异常打卡次数都自动出图,领导看了直夸“这人真靠谱”。其实我就是把日常重复的事,用Excel记住了。现在连行政部都来要模板,我说:“你把你们的打卡规则发我,我改一版给你。”
有个小技巧,我给所有加班单元格加了浅黄底纹,不是为了好看,是为了**一眼看出谁在“薅羊毛”**。有人总在周五晚上卡着点打卡,第二天早上十点才来,我一眼就能揪出来。不是要盯人,是让规则透明,大家心里都有数。
你要是真想用,我建议先拿一个月的考勤数据试跑,别一上来就全公司用。先找三个人的数据跑一遍,看看有没有时间倒挂、节假日漏标、格式错乱,改好了再铺开。Excel这东西,越简单越牢靠,别被那些花里胡哨的模板带偏了。
💡 扩展知识 / 相关参数
延伸阅读:如果你公司用钉钉或企业微信,其实可以直接导出打卡原始数据,格式统一后粘贴进Excel,省去手动录入的麻烦。我去年帮一个电商团队搞过,导出后自动清洗,效率翻了三倍。