编按:在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日期系统的特性,如果不明白的话套用公式即可。

今天分享的这五个例子,在日期类的问题中算是比较有难度的,涉及的函数大家平时也用得不多,建议收藏起来以备不时之需。

做Excel高手,快速提升工作效率,部落窝教育《一周Excel直通车》视频和《Excel极速贯通班》直播课全心为你!

将excel中的数据按照指定数量进行重复,非得用VBA才能实现吗?

如何在特定位置批量插入空行等12种实用办公技巧

4种删除excel重复值的小妙招,速收藏

Power Query的数据替换技巧比Excel函数更万能!

版权申明:本文作者老菜鸟;同时部落窝教育享有专有使用权。若需转载请联系部落窝教育。

打开网易新闻 查看更多图片