2021年我要上多少天班?Excel一秒告诉你!
扣除双休日这个月上几天班?如果单休呢?如果我是每周二休息呢?如果还有年假呢?这些问题使用Excel即可轻松搞定,不用再一个一个计算了!
案例01 | 指定日期范围工作天数
如果我问你从1月1日到今天,你一个上了多少天班?你可能要计算一会儿,或者去翻日历去了!但是使用Excel中NETWORKDAYS函数,非常轻松
=NETWORKDAYS(A2,B2)
NETWORKDAYS函数默认周六周日为休息日,所以工作日是扣除后的!不过他还有第三参数,我们可以自己指定节假日!
上面的结果,我们可以通过其他函数计算来验证,感兴趣的可以看一下,觉得复杂的跳过!
=DATEDIF(A2,B2,"d")+1-
SUMPRODUCT(N(WEEKDAY(ROW(INDIRECT(A2&":"&B2)),2)>5))
案例02 | 期间请假,如果计算工作天数
如果期间请假,那么实际工作天数改如何计算,请假如果正好和双休日重叠会不会重复计算?
=NETWORKDAYS(A2,B2,C2:C4)
结果我们上次制作的日历,可以发现1月31天,双休10天,请假3天,但是其中有一天是周日,所以31-10-2=19天,没有重复计算!
非常的好用,但是有的时候,部分公司并不是固定的双休,有固定周一休,有的固定周二休要怎么处理呢?或者周一和周四等情况要怎么处理呢?
这里就要介绍他的兄弟函数 NETWORKDAYS.INTL
案例03 | 自定义休息日
这里的12表示周一是休息日,你肯定要问,为什么是12?
=NETWORKDAYS.INTL(A2,B2,12)
这个表,应该可以解决你的疑问!根据实际需要选择!
但是看完,你可能还有有疑问,如果我的休息日不是这里的组合怎么办?不用担心,除了上面的固定写法,我们还可以使用7位0和1来表示周一到周日是否休息,1 表示非工作日,0 表示工作日,所以上面还可以这样来写!
=NETWORKDAYS.INTL(A2,B2,"1000000")
那如果我是周一和周四休息呢?
=NETWORKDAYS.INTL(A2,B2,"1001000")
休息日用1表示,工作日用0表示,非常的简单!
有了上面的基础,我们来看一个实际案例!
案例04 | 2021全年干活几天?每个月呢?
=NETWORKDAYS(E2,EOMONTH(E2,0),$B$2:$B$32)
上面应该不用我做过多解释了,第三参数指定休假日,自己指定!