在之前的文章《实用Excel技巧分享:如何让条形图表更生动形象!》中,我们了解了让excel条形图表更形象,与众不同的方法。而今天我们来看看怎么制作一张智能的考勤表,快来学习学习!
如果考勤机没那么智能需要手工辅助统计,如果公司还没有使用考勤机,制作当月的考勤表是一个复杂而又冗长的过程。因此如何在有限的时间内提高工作效率完成每月的考勤统计,这对人事部的MM来说是一件大事。
要提高效率就必须有一张比较好的考勤表。这张考勤表至少要具备以下几点:
-
简化输入考勤项目
-
醒目显示周末数据
-
能自动汇总数据
今天老菜鸟教你制作一份智能考勤表,同时具备以上三点,快来看看吧!
在动手制作之前,先来看看最终的效果展示:
在演示中,可以发现以下几点:
-
标题输入非常简单,只需要输入一个月份数字;
-
当月天数会自动变化,日期会根据月份自动调整显示,同时周六周日会自动变色;
-
考勤数据使用下拉菜单完成输入,同时有提示信息;
-
表格右侧有考勤结果统计区,根据填写内容自动产生统计数据。
下面就来教大家如何做出这样一个表格。
一、考勤表主体的制作
首先,做出一个最基本的表格,如图所示:
这个表格的做法非常简单,相信大家都可以完成,接下来就是一点点的细化工作,一定要用心看哦。
将第一行进行合并,第二行最后五个单元格,分别三个合并起来、两个合并起来,完成后效果如图:
在第一行的合并单元格里点击右键,选择“设置单元格格式”。在弹出的对话框中自定义格式为:鑫盛公司0月份考勤统计表。
注意,这里是数字0不是字母O。
设置完成后点击确定,然后在第一行输入一个数字看看效果吧。
是不是很神奇,其实这就是利用了自定义格式的特性。
第二行里的“当月天数”直接输入即可,后面填入公式:=DAY(EDATE(DATE(2018,A1,1),1)-1)
简单介绍一下这个公式的含义,用到了三个日期函数:
-
DATE函数的格式为:DATE(年、月、日),也就是根据指定的年月日得到一个日期,在本例中,年份为2018(如果是下一年度的话,改为2019即可),月份取的是第一行输入的数字,日就取1,这样得到的日期就是考勤表当月的1号。
-
EDATE函数的格式为:EDATE(开始日期,相隔月数),也就是根据指定日期和相隔月数得到一个新的日期,本例中的开始日期就是当月1日,相隔月数为1表示次月1日这个日期。
-
DAY函数的格式为:DAY(日期),得到指定日期是当月的第几天,在本例中指定日期是次月1日前1天(EDATE函数后面有个减1),换句话说,就是当月的最后一天。再通过DAY函数得到当月一共多少天。
注:日期函数往往都是几个函数配合使用,而且对于同一个问题,会有多种思路,有些公式的思路非常巧妙,这也是学习函数的乐趣之一。
接下来要设置的就是星期了,在C4单元格填入公式:=TEXT(DATE(2018,$A1,C3),”aaa”),右拉即可。
公式=TEXT(DATE(2018,$A$1,C$3),”aaa”)中用到了两个函数TEXT和DATE,分别解释一下这两个函数的作用:
DATE函数刚才已经讲过了,在这个公式中,年还是2018,月用的A1,因为公式要向右拉,为了防止右拉的时候A1发生变化,所以在列号前面加了$锁定,日就用第三行对应的数字表示,这样就得到了当月所有的日期。
TEXT函数的格式为:TEXT(要指定格式的数据,格式代码)。这个函数算是一个比较高级的函数了,虽然结构比较简单,但是格式代码非常多,所以也是一个多功能函数。本例中的格式代码为“aaa”,就是用一个字来显示星期,有兴趣的读者可以自己试试代码“aaaa”“ddd”和“dddd”分别是什么效果吧。
注:在使用TEXT函数的时候,格式代码必须加引号(引号在英文状态输入)。
至此,表格大体上已经完成了,有些单位可能不区分上午和下午,但有些单位是区分的,如何将每个人的一行变成两行,难道一行一行插入么?肯定不是,这里用到了一个非常简单的小技巧,一起通过动画演示来看看吧:
在这个操作中,涉及到几个技巧:批量插入空行的技巧、使用格式刷的技巧、快速填充重复内容的技巧,希望大家能够多练习,熟练掌握这些技巧。
至此,这个考勤表的主题已经做好了,效果是这样的:
二、使用条件格式和数据有效性加工表格
接下来需要完成两项工作:
-
让表格中的日期根据实际情况显示,同时周六周日会自动变色;
-
考勤数据使用下拉菜单完成输入,同时有提示信息。
来看看如何实现这些效果。对于第一项内容,要用到条件格式这个功能,步骤虽然不多,但是很多细节地方,大家慢慢跟着来:
(1)选择数据区域,点击【条件格式】-【新建规则】:
进一步选择【使用公式确定要设置格式的单元格】,输入公式:=C$3>$AF$2,然后点击【格式】按钮:
公式解析:很简单,就是比较第三行的每个日期是否大于当月天数,如果大的话,按照设置的格式执行,这一步要注意$的位置。
选择【自定义】,在类型中输入三个分号:;;;,注意是英文状态下的分号,完成后点确定。
格式代码解释:具体含义比较复杂,记住输入三个分号代表不显示单元格的内容。
再点确定,这时候可以发现,不属于当月日期的数据已经看不到了:
进一步设置周六周日自动变色,还是选择数据区域,新建规则,输入公式=OR(C$4=”六”,C$4=”日”)后设置格式:
这个公式也很好理解,OR为满足两个条件中任意一个就按设置的格式执行,也就是第四行为“六”或“日”,就显示指定的颜色。
点击设置单元格格式按钮后,选择【填充】,选择一个颜色,点确定。
再次点击确定即可看到效果:
咦,后面空的为什么也涂色了,是哪里出错了吗?
仔细看看,发现这个地方正好是周六,只不过被前面设置的格式隐藏了,但是涂色的时候还是生效的,怎么处理这个问题呢?很简单,选择数据区域后打开条件格式的管理规则:
在下面一条规则后打钩勾选“如果为真则停止”,然后点击上移按钮,点击确定。
看到效果了吧。
下面要对考勤数据进行有效性设置,在进行这一步之前,让我们先来完成统计区域的制作。
三、统计区域的制作
这一块的制作就很简单了,根据自己的实际需要,添加备注一栏,填写考勤项目和图例,在每个图例下面使用COUNTIF函数完成统计,公式为=COUNTIF($C5:$AG6,AI$4)/2:
COUNTIF函数的格式为:COUNTIF(统计区域,要统计的内容),通俗的说,就是每个人对应的两行(统计区域)中每个考勤项目(要统计的内容)出现的次数,因为例子中每天的数据是两行,所以统计结果要除以2。
至于这些合并单元格的处理非常简单,合并一个再用格式刷去刷就好了。
现在回过头来设置考勤数据的下拉菜单。设置有效性之前,先做一个准备工作,将图例以及说明复制出来备用,然后再去设置有效性。这部分操作看动画演示吧:
至此,这个考勤表就完成了。相信通过今天的内容,你一定有很多收获吧!
发表评论