告别手动统计! Excel升级版智能考勤表制作方法

  发布时间:2025-05-09 09:31:03   作者:佚名   我要评论
想要做一个考勤表,该怎么制作一个智能考勤表呢,就是在基础的考勤表添加考勤信息自动统计汇总:缺勤天数、出勤天数、是否满勤、缺勤/出勤天数前N名等功能,详细请看下文介绍

之前跟大家分享过智能考勤表的制作,原来的考勤表可以自动识别当月天数,周末自动填充颜色,并且考勤表的表头可以自动更新。今天分享的是Excel智能考勤表(升级版),就是在之前的基础上,添加考勤信息自动统计汇总:缺勤天数、出勤天数、是否满勤、缺勤/出勤天数前N名等功能,告别手动统计,简单又高效!

Excel智能考勤表(升级版)分屏显示效果:

下面上干货,操作步骤:

第一步:制作Excel智能考勤表

具体制作步骤之前介绍过,可以看教程《Excel智能考勤表,太实用了,一个表格可以用到退休!》,今天就不再详细介绍了。

第二步:根据智能考勤表出勤明细统计相关数据

1、缺勤天数

在目标单元格输入公式:

=SUMPRODUCT((考勤表明细表!$B$7:$AF$14="×")*(考勤表明细表!$A$7:$A$14=A4))

然后下拉填充数据即可

解读:

其实,上面公式就是利用SUMPRODUCT函数跨工作表多条件计数。

①(考勤表明细表!$B$7:$AF$14="×"):判断考勤表数据区域中是否是字符"×",结果是一个由True和False组成的数组,True表示该单元格等于"×"(缺勤),False表示出勤。“考勤表明细表!$B$7:$AF$14”数据区域要绝对引用,因为要下拉填充数据,这个数据区域不能改变。

②(考勤表明细表!$A$7:$A$14=A4):这部分是检查“考勤表明细表!$A$7:$A$14”这个区域的员工考勤名称每个单元格是否等于A4单元格中的值。结果是一个由True和False组成的数组,符号条件返回True,否则返回False。同样A7:A14数据区域要决定引用。

③最后,SUMPRODUCT函数会计算上述两个数组的对应元素的乘积。在乘积中,True被视为1,False被视为0。因此,只有当两个条件都为True时,对应的乘积才为1,否则为0。

多条件计数万能公式:

=SUMPRODUCT((条件数据区域1=条件1)*(条件数据区域2=条件2)*(条件数据区域N=条件N))

2、出勤天数

在目标单元格输入公式:

=SUMPRODUCT((考勤表明细表!$B$7:$AF$14="√")*(考勤表明细表!$A$7:$A$14=A4))

然后下拉填充数据即可

解读:

原理跟缺勤天数公式一样,只是统计出勤数据。

3、是否满勤

在目标区域输入公式:

=IF(B4=0,"√","×")

然后下拉填充数据即可

解读:

判断是否满勤逻辑也很简单,只有缺勤天数等于0就是满勤,否则就是缺勤。

4、出勤天数前3名,并且显示出勤天数

在目标区域输入公式:

=TAKE(SORT(HSTACK(A4:A11,C4:C11),2,-1),3,2)

然后下拉填充数据即可

解读:

①先利用HSTACK函数把汇总表格中的A4:A11(姓名)和C4:C11(出勤天数)两个数据区域按水平方向重新合并到一起。

②再利用SORT函数对数据按出勤天数进行降序排列(-1代表降序,1代表升序),就是根据出勤天数从高到低排序。

③最后利用TAKE函数获取指定位置的数据,按行获取前3条数据,按列获取前2列数据,这样就获得了出勤天数前3名姓名和出勤天数了。

5、缺勤天数前3名,并且显示缺勤天数

在目标区域输入公式:

=TAKE(SORT(HSTACK(A4:A11,B4:B11),2,-1),3,2)

然后下拉填充数据即可

解读:

公式原理跟统计“出勤天数前3名,并且显示出勤天数”一样,就不再重复说明了。

推荐阅读:excel怎么判断法定节假日? excel公式自动判定日期是否节假日的技巧

相关文章

最新评论