1.表格抬头:部门,考勤号码(工号),姓名,打卡日期,打卡时间,第几次打卡,最早打卡时间,最晚打卡时间。
2.在F列(也就是第几次打卡那列)输入公式:=COUNTIFS($B$2:B2,B2,$D$2:D2,D2)。
3.在G列(也就是一天内最早打卡时间那列)输入公式=IF(F2=1,E2,""),意思为如果F列数据为一,也就是一天就打了一次卡,那么最早打卡时间为E列数据。
4.在H列(也就是一天内最早打卡时间那列)输入公式)=IF(G2<>"",INDEX(E2:E875,COUNTIFS(B:B,B2,D:D,D2)),""),意思是如果G2格数据不等于空白,则B列符合B2条件+D列符合D2条件的行个数,根据案列中的情况,这个数字是某一天中同一个人刷卡总共次数,刷卡时间是从早到晚排列,那一个人同一天刷卡总共次数的那一行就是最晚刷卡的时间,若等于空白则改格数据也等于空白。(其中countifs为count函数的扩展,后者只是针对一个条件,前者可以满足针对多个条件同时,countifs(条件区域,条件,条件区域,条件))。
5.将F列至H列用选择性粘贴转换为数值,删除空白行以此来做考勤计算:在此表格的右侧进行迟到、早退、加班的计算,迟到单元格=IF(E2>8/24,1,"")晚于八点上班的显示1表示迟到,否则空白表示正常上班,早退单元格=IF(F2<17.5/24,1,"") ,加班时间单元格=IF(F2>18/24,F2-18/24,"")如果最晚打卡时间超过晚上18点以后,输出最晚打卡时间减18点为加班时长。
6.如果是打卡日期与打卡时间在同一个单元格中的,需要使用数据栏中的分列操作,分为两列数据
赞同
收藏
评论
分享