如何用Excel高效制作考勤表升级必备

办公室的内勤工作是公司里面上下联系的枢纽 , 每天会同一大堆琐碎事务打交道 。 比如同事出差的机票和酒店预订、参与制度的制定、负责办公用品的采购和预算、员工考勤的统计、会议安排以及车辆安排等等 。 因为要管理很多方面的事务 , 所以对数据统计功能强大的Excel是必须掌握的 , 起码要熟悉Excel的一些求和、求平均值等公式 。 随着工作的开展 , 要管理的数据量增加 , 为了避免出错 , 这个时候就要学会使用一些复杂的公式帮助自己的工作了 。 在这么多的工作中 , 最让人头疼的可能就是员工的考勤工作 , 因为这是关系到大家的工资收入的问题 。 要是一不小心搞错了 , 导致同事扣钱那罪过就大了 。 所以 , 我对这块工作异常仔细 , 终于摸索出一个用Excel管理考勤的方法 , 用这个方法不但减少了工作量 , 而且不会出错 , 让工作更轻松 。

如何用Excel高效制作考勤表升级必备

文章插图

做好考勤数据整理 繁杂无章变条理有序
考勤管理工作必然涉及到公司考勤日期、人员名单、考勤登记符号等资料 , 而且为了便于每月月末制作工资表 , 还需要整理每个员工与工资表相关资料 , 如岗位、日资标准、保险金等等 。 日常工作中将这些资料及时输入Excel是非常必要的 。
启动Excel2003 , 新建一个工作簿 , 将其命名 , 如“海泽科技有限公司考勤管理明细表” , 在其中新建一个工作表 , 命名为“基础资料” , 在此表中输入公司员工名单、员工名单、岗位、日资标准、保险金、考勤年份、考勤月份、考勤符号以及考勤符号说明等内容 。 所谓考勤符号 , 就是在每日登记考勤时我们所使用的记号 , 如“全”代表全班、“半”代表半天班、“休”代表休班等 , 考勤符号可以根据自己公司的使用习惯而定 , 既可以使用文字 , 也可以使用图形符号 , 而考勤符号说明则是为了方便考勤人识别 , 防止出错(图1) 。
如何用Excel高效制作考勤表升级必备

文章插图

为了便于以后考勤工作引用这些基础数据 , 应该将一些基础数据区域予以定义名称 , 执行“插入→名称→定义”菜单命令 , 在弹出的“定义名称”对话框中 , 添加4个新名称 , 其分别为:员工名单 , 其引用位置为“=基本资料!$A$3:$A$22”;年份 , 其引用位置为“=基本资料!$E$3:$E$7”;月份 , 其引用位置为“=基本资料!$F$4:$F$15”;出勤 , 其引用位置为“=基本资料!$G$3:$G$8” 。
设计智能明细表 实现考勤自动化
对于考勤工作来说 , 我的重中之重项目就是日常考勤的登记工作了 , 新建一个工作表 , 命名为“考勤明细表” , 在此表的A2:AD2行中输入明细表标题 , 如“海泽科技有限公司 年 月份考勤表” , 需要注意的是 , 为了便于调用考勤年、月信息 , 年月必须分别单独存放 , 如年份存放在L2、月份存放在S2 , 然后单击L2 , 执行“数据→有效性”菜单命令 , 在弹出的“数据有效性”对话框中 , 单击“设置”选项卡 , 在其中选择“允许”后面的“序列”选项 , 并且在下面的“来源”文本框中输入公式“=年份” , 关闭此对话框(图2) 。
如何用Excel高效制作考勤表升级必备

文章插图

采用同样的方法 , 将S2的数据有效性来源设置为“=月份” , 这样在选择考勤年月时 , 就可以直接单击L2、S2 , 然后从弹出的下拉列表框中选择相应预置信息即可 。
考勤登记表一般包括考勤人名单以及日常考勤登记情况 , 因此在此工作表的B列中存储员工名单 , 在C5:AG5存放考勤星期 , 而在C6:AG6存放考勤日期 , 然后通过数据有效性设置 , 将人员名单所在的B7:B200的数据有效性来源设置为“=员工名单” , 日常登记考勤的数据区域C7:AG200的数据有效性来源设置为“=出勤” , 同时为了便于日常考勤登记人员识别考勤符号 , 单击数据有效性对话框中的“输入信息”选项卡 , 选中其中的“选定单元格时显示输入信息” , 然后在下面输入信息文本框中 , 将前面的考勤符号说明复制过来 。
为了能够自动准确输入日期信息 , 在存储每月的第1日的C6中输入公式“=DATE(L2 , S2 , 1)”、第2日的D6中输入“=C6+1”并依次类推 , 直到第27日的AC6 , 需要注意的是 , 由于考虑到每年2月份闰年的情况 , 在第28日的AD6中输入公式“=IF(MONTH($AC6+COLUMN(A1))=$S2 , $AC6+COLUMN(A1) , “”)” , 第29日的AE6中输入公式“=IF(MONTH($AD6+COLUMN(A1))=$S2 , $AD6+COLUMN(A1) , “”)” , 第30日的AF6中输入公式“=IF(AE6=“” , “” , IF(MONTH($AE6+COLUMN(A1))=$S2 , $AE6+COLUMN(A1) , “”))” , 第31日的AG6中输入公式“=IF(AF6=“” , “” , IF(MONTH($AF6+COLUMN(A1))=$S2 , $AF6+COLUMN(A1) , “”))” , 最后在存储判断每月第1日是星期几的C5中输入公式“=IF(C6=“” , “” , CHOOSE(WEEKDAY(C6 , 2) , “一” , “二” , “三” , “四” , “五” , “六” , “日”))” , 并将此公式复制到其后面对应的单元格中(图3) 。

推荐阅读