如何计算两个日期间的工作日天数?超实用的5类日期函数来了!
作者:老菜鸟来源:部落窝教育发布时间:2022-02-21 14:13:35点击:7424
编按:
在Excel中与日期有关的公式很常见,涉及到账户应付款处理、项目日程安排、时间管理等很多方面,今天给大家分享几个与星期、工作日等相关的公式,例如计算两个日期间的工作日数、判断一个日期是否为周末等。小伙伴们,赶紧来看一看吧!
下面,就让我们通过5个案例来一一进行介绍。
案例1:如何判断某个日期是否为周末?
人事部需要对1月份有加班记录的日期判断是周末还是工作日,效果如图所示。
为了方便大家验证结果,用=TEXT(B2,"AAAA")公式备注了一下。
示例中判断周末的公式为:=IF(WEEKDAY(B2,2)>5,"周末","工作日")
公式解析:这个公式中,WEEKDAY函数的第2参数为2,得到的就是B列日期的星期数字,6代表星期六、7代表星期日,因此只需判断 WEEKDAY 函数的返回值是否大于 5,即可判断出对应日期是否为周末。
案例2:如何计算离职员工最后一个月的实际工作天数?
=MAX(NETWORKDAYS(EOMONTH(B2,-1)+1,B2)-IFERROR(VLOOKUP(C2,$F$2:$H$8,3,0),),)
公式解析:
① EOMONTH(B2,-1)+1得到的是离职月的1号;
② NETWORKDAYS函数得到离职月1号至离职日期之间的工作日天数(不含周六和周日);
③ VLOOKUP(C2,$F$2:$H$8,3,0)的作用是匹配出离职月的法定节假日天数;
④ 使用IFERROR函数将没有法定节假日的月份返回0,否则会得到错误值无法计算;
⑤ 工作日天数-法定节假日是最终的上班天数,加上一个MAX防止出现负数。
这个公式比较复杂,有需要的话套用即可。
案例3:如何计算两个日期间星期日的天数?
某公司要给员工在一段时间内周日上班的补发津贴,因此需要统计出周日的天数,结果如图所示。
NETWORKDAYS.INTL函数是Excel 2010版才有的函数,特点是第三参数可以使用代码来指定需要统计周几的天数。
例如“1111110”这种格式中,1表示休息,0表示上班,0在第七位,表示周日上班。函数统计两个日期之间的上班天数,也就是周日的天数。
如果要统计两个日期之间周二的天数,只需要将第二位用0表示即可,代码为“1011111”。
案例4:根据订货日期推算交货日期?
已知订货日期和交货期限(工作日),可以使用=WORKDAY(B2,C2)来推算出具体的交货日期。
注意,这个示例中的交货期限是指不含周六周日的天数,所以不能直接用订货日期+交货天数来计算。
WORKDAY函数就是根据指定日期来推算出若干个工作日之后的日期,格式为:WORKDAY(开始日期,天数)。
案例5:推算母亲节的具体日期?
有些特殊的节日,比如母亲节、父亲节、感恩节等,其节日是根据特定月中的第几个星期几来定义的,如果要确定其日期就变得比较棘手。
例如母亲节是每年5月的第2个星期日,知道年份的话就可以用公式=CEILING(DATE(A2,4,30),7)+8来推算出该年的母亲节的具体日期。
公式解析:
① DATE(A2,4,30) 是指定年份4月30日的日期;
② 利用CEILING函数将日期向上舍入到最接近的7的倍数(在Excel中,7的倍数所代表的日期序列正好都是星期六);
③ 得出5月份第一个星期六的日期,再加8,就是5月份第2个星期日即“母亲节”的日期。
这个公式利用了1900日期系统的特性,如果不明白的话套用公式即可。
今天分享的这五个例子,在日期类的问题中算是比较有难度的,涉及的函数大家平时也用的不多,建议收藏起来以备不时之需。
本文配套的练习课件请加入QQ群:902294808下载。
做Excel高手,快速提升工作效率,部落窝教育《一周Excel直通车》视频和《Excel极速贯通班》直播课全心为你!
扫下方二维码关注公众号,可随时随地学习Excel:
相关推荐:
将excel中的数据按照指定数量进行重复,非得用VBA才能实现吗?
Power Query的数据替换技巧比Excel函数更万能!
版权申明:
本文作者老菜鸟;同时部落窝教育享有专有使用权。若需转载请联系部落窝教育。