怎么定义int_考勤时间、应出勤天数、工作日的计算,这些你怎么能够错过!

今天小必老师给几题简单的经常在工作中能用到问题,使用Excel给出解决方案,主要运用的最多的当属于HR。

1不足半小时按半小时计算

要求:假设早上9:00上班,迟到半小时之内按半小时计算,超过半小时不足1小时按1小时计算,1小时按1小时计算,超过1小时后,超过的部分原还半小时之内按半小时计算,超过半小时按1小时计算。(假设情形)

09cad6628456592e5825c3fcba064a78.png

公式:在C2单元格中输入公式:=CEILING((B2-INT(B2)-"09:00:00")*24,0.5)

解释:INT函数是用来取整的,上面的这种日期与时间的合成的时间,其转换成数值的话那么整数部分表示日期,小数部分表示时间,时间使用INT函数就可以将日期提取出来,再用原时间减去日期,就得到了小数部分,即时间,时间是小数,然后再乘以24小时,就将小数表示天的时间转换成了小时;而CEILING函数是向上舍入到指定的倍数,那么这里的倍数是半小数,即0.5。

2不足半小时按0计算

要求:假设早上9:00上班,迟到半个小时之内按不迟到计算,半个小时以上不足一个小时的按半个小时计算,超过1个小时后,仍然按不足半小时按0计算,半小时以上按半小时计算。(假设情形)

047975d10fc9ac6feff7413dd069a111.png

公式:在C2单元格中输入公式:=FLOOR((B2-INT(B2)-"09:00:00")*24,0.5)

解释:基本与上一个例子是一样的,这里的FLOOR函数与CEILING函数正好是相反的,FLOOR是按指定的倍数向下舍入。

3应出勤天数计算

要求:下面是某部门的新员工的入职时间,按要求计算每个人的出勤日期,即工作日上班的天数,不考虑节假日调整的问题。

b3e6ec7dcc2bed0fe6591659612063eb.png

公式:在C2单元格中输入公式:

=NETWORKDAYS(B2,EOMONTH("2019-6-1",0))

解释:NETWORKDAYS是计算两个日期之间的工作日的天数,这里未指定第三个可选参数,即自定义节假日。EOMONTH函数是返回当前日期的最后一天,可定义第二个参数,这里第三参数为0即返回当前日期的最后一天。

4指定节假日的出勤天数的计算

要求:下面是某部门的新员工的入职时间,按要求计算每个人的出勤日期,即工作日上班的天数,2019年6月7日为端午节,不上班。

22df828e6d2a3bbffa4e33195943b745.png

公式:在C2单元格中输入公式:

=NETWORKDAYS(B2,EOMONTH("2019-6-1",0),"2019-6-7")

解释:同上面的例子是一样的,本例只是对NETWORKDAYS函数的第三个参数指定了一个节假日,即端午节。

5指定具体周末的应出勤天数的计算

要求:通常情况下,外国人的周末与中国人有差别,比如某外企是星期五与星期六休息,那么工作日是从周天开始的。

471bff982a23ec36597f2cb7a282e5d7.png

公式:在C2单元格中输入公式:

=NETWORKDAYS.INTL(B2,EOMONTH("2019-6-1",0),7)

解释:这个函数是上面函数的升级版,其中第三个参数指定了相关的星期为休息日,这里的7表示周五周六休息,同样,第4个参数可以指定节假日。

66天制工作日应出勤天数的计算

要求:六天制工作计算应出勤天数,与上面的指定周末的方法是一样的。

e58b8d99da14fe1589da0991c200b6e1.png

公式:在C2单元格中输入公式:

=NETWORKDAYS.INTL(B2,EOMONTH("2019-6-1",0),11)

解释:同上面的例子是一样的,本例只是对NETWORKDAYS函数的第三个参数指定了休息日为周末,其他的时间为工作日。

75.5天制工作日应出勤天数的计算

要求:在早期的时候,一般是上5天班,然后周六再上半天班的模式。这样的应出勤天数又该怎么算?

38f2fc33d517845f1a38e9f2c99d6f9a.png

公式:在C2单元格中输入公式:

{=NETWORKDAYS(B2,EOMONTH("2019-6-1",0))+SUM(--(WEEKDAY(ROW(INDIRECT("$1:$"&DAY(EOMONTH(C10,0))))-1,2)=6))*0.5}

解释:先使用NETWORKDAY函数计算出周五至周五的应出勤的天数,然后再以1号为起点,计算每个月星期六有几天,乘以0.5就是周六半天总共要出勤的天数。上面的公式属于数组公式,需要按组合键完成。

8中国式调整工作日的计算

要求:2019年的9月13日为中秋节,这一三为星期五属于正常的休息,29日这天为了配合国庆放假,这一天属于正常上班,那么像这样的日期应该怎么计算员工的应出勤天数呢?

4e728c42797b0fb6fe792754ffd0eb77.png

0714f29389c7be1088a6db5ad4156b7a.png

公式:在C2单元格中输入公式:

=NETWORKDAYS(B2,EOMONTH(B2,0),"2019-9-13")+IF(B2>VALUE("2019-9-29"),0,1)

解释:先计算出中秋节当天的所有的工作日的天数,然后再计算入职时间在2019年9月29日这天前后的,在这个日期之前(包含等于)那么应出勤天数加1,否则应出勤天数减去1.这样就计算出了整个应出勤天数。

另外:上面的例子中的当前月的最后一天是用函数获取的,那么这里为了使用通用公式,也可以将月初第一天的日期使用函数获取,假如A2单元格存放入职日期,那么当月最后一天的日期可以写成:=EOMONTH(A2,0),当月第一天的日期可以写成:=EOMONTH(A2,-1)+1.

73af190ba242e0aaa6fa28a999fe98c7.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值