ARTICLE · 1329407
Excel考勤表模板怎么做,自动计算出勤天数
想自己做一份Excel考勤表模板,核心只有两件事:把每天的打卡状态记下来,再用 COUNTIF 把状态自动数成出勤天数。下面这份考勤表模板从零搭起,做完以后只要每天点几下鼠标选状态,月底的出勤天数、迟到次数、全勤判断全都会自己跳出来,不需要手工数格子。
第一步:搭好表头,让日期自己排列
新建工作表,A1 输入"姓名",B1 输入"部门",C1 到 AG1 留给 1 日到 31 日,AH1 输入"出勤天数"。 在 C2 输入 =DATE(2025,1,1)(把 2025 和 1 换成你要的年份月份),回车。选中 C2,把鼠标放到右下角填充柄上向右拖到 AG2,日期就自动排到 31 日。 选中 C2:AG2,按 Ctrl+1 打开"设置单元格格式",选"自定义",类型框里输入 d,确定后只显示 1、2、3 这样的日号。
注意:31 号在小月会自动显示成下月 1 日,选中该单元格把字体颜色改成白色,或直接清空即可,不影响统计。
第二步:用数据验证规范每天的打卡状态
选中 C3:AG20(按你的人数调整范围)。 点"数据"选项卡 → "数据验证"(WPS 里叫"数据有效性")→ 允许选"序列"。 来源框输入 √,○,△,×,休,用英文逗号分隔,确定。之后每个人每天只需要点单元格右侧的下拉箭头选状态:√ 出勤、○ 迟到、△ 请假、× 旷工、休 休息。
录入规范了,后面的公式才不会因为出现"√ "(多敲了一个空格)这类脏数据而数错。
第三步:出勤天数、迟到次数自动算
假设第 3 行是张三,1 日到 31 日在 C3:AG3。
出勤天数(迟到也算出勤):=COUNTIF(C3:AG3,"√")+COUNTIF(C3:AG3,"○")
迟到次数:=COUNTIF(C3:AG3,"○")
请假天数:=COUNTIF(C3:AG3,"△")
全勤判断:=IF(AND(COUNTIF(C3:AG3,"○")=0,COUNTIF(C3:AG3,"△")=0,COUNTIF(C3:AG3,"×")=0),"全勤","")
把这几条公式向下填充到所有员工行,整份考勤表模板的出勤天数一列就全部算好了。
第四步:算应出勤天数,判定全勤奖
找一个空白单元格,比如 AK1,放"应出勤天数",公式:=NETWORKDAYS(DATE(2025,1,1),DATE(2025,1,31),$AN$2:$AN$10)。其中 AN2:AN10 里逐个填公司放假和法定节假日的日期,NETWORKDAYS 会自动把周末和这些日期扣掉。
再在 AI 列判定:=IF($AH3>=$AK$1,"全勤","缺勤"),这样出勤天数不达标的人一眼就能看出来。
第五步:用条件格式让表格一眼看懂
选中 C3:AG20 → "开始" → "条件格式" → "新建规则" → "只为包含以下内容的单元格设置格式"。 分别给 √、○、△、×、休 设不同底色,比如 √ 绿色、× 红色。 再给"出勤天数"列加一条"小于应出勤天数则标红"的规则。
常见问题
Q:出勤天数算出来是 0? 多半是符号不一致,检查下拉里填的是不是同一个 √;也可能是统计区域的行选错了。
Q:中途有人入职怎么办? 直接在姓名列插入一行,公式用填充柄往下拉一行即可,COUNTIF 的区域会自动跟着扩展。
Q:想让周末自动标成休? 选中日期行 C2:AG2,用条件格式里的公式 =WEEKDAY(C$2,2)>5 设置底色,提醒自己那两天不用填出勤。
按这套结构做出来的 Excel考勤表模板,录一天只要十秒,月底出勤天数自动汇总,比手工数格子可靠得多,也方便导出给人事核算工资。















































































