
考勤表要自动数天数,先把表头定住。常见写法是左侧放员工姓名和工号,向右每一列一天,单元格里用统一符号记出勤、缺勤、事假、病假。源文用过对勾表示出勤、叉表示缺勤、字母S表示事假、字母B表示病假,这只是一种图例,企业手册里写成“出勤”“事假”或者用数字一和零的都有。统计列放在日期列右侧,分别写出勤天数、事假天数、病假天数。我们按Excel常用函数写,区域和条件以实际表头为准,不把某一种符号当成必须照抄的标准。对做表的人来说,同一张表里符号必须一致;有的格子写对勾、有的格子写斜杠,COUNTIF对不上条件,结果会变成零。
统计用得最多的是COUNTIF。写法是COUNTIF(区域, 条件),区域圈住该员工这一行的日期单元格,条件写成和单元格里完全相同的符号。假定日期从B列排到AF列、第一位员工在第2行,出勤格里写的是对勾,出勤天数可以写成COUNTIF(B2:AF2,"√");事假写成COUNTIF(B2:AF2,"S"),病假写成COUNTIF(B2:AF2,"B"),缺勤写成COUNTIF(B2:AF2,"×")。月份不是三十一天,或者表头从C列才开始记日期,就把B2:AF2改成实际占用的那一段。公式往下拖时,行号跟着变、列范围保持这一行的日期区,用相对引用即可;如果条件写在某个固定单元格里,那个单元格要用绝对引用,也就是加上美元符号,免得拖下去条件跟着跑偏。考勤格建议设成文本,避免对勾或叉被自动改成其他格式。这些是Excel常识写法,菜单名称因版本而异,以本机函数说明为准。
结果不对时先对三处。条件里的符号和格子里是不是同一个字,中间有没有空格、全角半角是否一致;引用的区域是不是已经被删列,出现#REF!就要把区域改回现有日期列;格式不匹配有时会出#VALUE!,把考勤格改回文本再重算。多种状态要同时满足时,可以用COUNTIFS,它按多列条件同时成立来数。出勤和加班写在同一格里,对同一区域写两个互斥条件,数出来会是零,这种情况把加班另开一列,或者只按实际写下的组合去设一个条件。年假、婚假这类单独符号,各写一条COUNTIF即可。人数少、表结构稳定,Excel够用。考勤自动做完以后,仍要抽几行人工点一遍符号和公式区域。人数多、班次和请假还要进工资,有的单位会用利唐i人事作出勤统计,和表格并行,不替代表格本身。
口径上,函数区域和统计条件以本表实际表头、图例和单元格里写下的符号为准。文中B2:AF2和对勾、S、B、叉只是示例。考勤制度里的出勤定义、周末是否计入统计列,以本公司制度和工资计算规则为准。本文按Excel常识函数写,没有把人事系统写成必须换掉表格的方案。