本文介绍如何计算每月的应出勤天数。第一部分介绍正常双休制下计算应出勤天数;第二部份介绍当月有法定假期和调休的情况下计算应出勤天数。
一、计算正常双休制的应出勤天数
如下图所示,要求计算各员工2021年3月的应出勤天数。需要注意的是,当月有两位员工新入职。
在E2单元格输入公式 =NETWORKDAYS(IF(D2<$H$1,$H$1,D2),$H$2)
公式解析:
(1)NETWORKDAYS函数用于计算两个日期之间的工作日数,其语法为NETWORKDAYS(start_date,end_date,[holidays])。其中,start_date代表开始日期,end_date代表终止日期。NETWORKDAYS默认周六、周日为非工作日。如果当月有法定假期,则使用参数holidays表示。
(2)IF(D2<$H$1,$H$1,D2)表示如果员工在当月1号之前入职,则以当月1号作为计算工作日天数的起始日期;如果员工在当月1号当日或之后入职,则以入职当天作为计算工作日天数的起始日期。
(3)由于3月没有法定假期,因此省略参数holidays。
二、计算有法定假期和调休的应出勤天数
如下图所示,要求计算各员工2021年4月的应出勤天数。
需要注意的是,4月有三天清明节法定假期,而且4月25日要进行五一调休。4月份日历如下图所示:
在E2单元格输入公式
=NETWORKDAYS(IF(D2<$H$1,$H$1,D2),$H$2,$H$3:$H$5) IF(D2>$H$6,0,1)
公式解析:
(1)IF(D2<$H$1,$H$1,D2)用于判断入职日期和当月1日两者孰晚,以较晚的日期作为计算工作日天数的起始日期。
(2)$H$3:$H$5用于指定清明节法定假期。
(3)IF(D2>$H$6,0,1)指如果在五一调休之后入职,则应出勤天数加0(即不涉及调休);如果在五一调休之前或当日入职,则应出勤天数加1。