想把考勤做成“填一次就能自动算”的表格?Excel 可以用条件判断和计数函数,把出勤、迟到、早退、旷工这几类结果直接生成出来。下面按步骤教你把考勤表模板公式搭好。
先搭好考勤表的基础结构
建议从表头开始设置:日期、员工姓名、出勤情况(出勤/迟到/早退/旷工等)。有了列结构,后面的公式才好套用和拖拽。
日期列可以先录入起始日期。把鼠标移动到该单元格右下角,待光标变成填充样式后向下拖动,就能自动填充后续日期。
用公式自动判断“迟到”与“出勤”
这里用一个示例来说明思路:假设上班时间是 9:00,打卡时间在 A 列。你可以在 B 列输入判断公式,按打卡小时数做分类。
示例公式(根据原思路直接套用):=if(hour(a2)-9>0,"迟到",if(hour(a2)-9=0,"出勤","未到岗"))
如果你还想细分“严重迟到”,就需要把判断条件再拆一层。做法是把打卡与 9:00 的差值范围扩展成多个分支即可(表里用到的字段不变,公式里改条件)。
“早退”公式按下班时间来判断
早退的逻辑类似:假设下班时间是 18:00,打卡时间在 A 列,对应结果放在 C 列。输入下面这种判断结构即可。
示例公式:=if(hour(a2)-18<0,"早退",if(hour(a2)-18=0,"出勤","未到岗"))
注意:示例里同样是用小时数做对比。如果你的打卡数据包含更精确的时间(分钟),也可以在公式里进一步调整比较方式,让规则更贴合实际。
用空值判断“旷工”
旷工的常见判定方式是:当天没有打卡记录,就标记为旷工。假设结果放在 D 列,可以用空值判断函数。
示例公式:=if(isblank(a2),"旷工","")
这样做的好处是:只要 A 列对应单元格为空,旷工会自动出现;你不需要手动一个个填。
如果你希望统计更直观,还可以在后面加“汇总区”。常见的汇总是迟到次数、出勤天数等。
统计迟到次数与出勤天数
假设迟到结果在 B 列,那么迟到次数统计可以直接用 countif:
示例:=countif(b:b,"迟到")
出勤天数的统计思路也类似:统计非旷工的数量。假设出勤情况在 D 列,可以这样写:
示例:=countif(d:d,"<>旷工")
使用时的小提醒
把公式放在正确的列(对应日期、打卡时间、结果列),再向下拖拽,表格才会自动填满。
如果你的打卡时间不在 A 列,公式里的单元格引用(如 a2)要同步调整。
想让规则更精细(比如“迟到30分钟内/超过30分钟”),就把条件判断改成更符合你数据的比较方式。
把这些公式搭好后,你的考勤表就能做到“自动判断 + 自动统计”。你更想先实现哪一项:迟到细分规则,还是把统计汇总做成可视化?