Excel日期计算技巧:WORKDAY与DATEDIF分工协作,排期复核一步到位
很多人在处理日期时,第一反应是翻日历或掰手指头,但真正做排期、算工期,Excel里有个更高效的思路:把WORKDAY和DATEDIF两个函数明确分工,各司其职,反而更清晰、更不容易出错。
WORKDAY负责向前或向后推算工作日日期,自动避开周末;DATEDIF则负责拆解两个日期之间相差的天数、月数、年数,方便你回头复核排期、工期或在岗时间是否计算准确。这套组合拳特别适合项目排期、合同履约、请假返岗、采购到货以及人事在岗时长等场景。
用WORKDAY得出排除周末和节假日后的目标日期,再借助DATEDIF复核开始日期与结束日期之间的跨度,结果比手工数日历靠谱得多,效率也大幅提升。
先分清WORKDAY和DATEDIF各自的职责
WORKDAY解决的是“从某个开始日期起,往后推几个工作日落在哪一天”,所以它更偏向排期函数。DATEDIF解决的是“两个日期之间隔了多久”,更适合做复核、统计和展示。先把这两个函数的职责分清楚,后面写公式时就不会一边想算工作日,一边又拿自然日逻辑去套。
如果只想快速得到“7个工作日后是哪一天”,可以先从最基础的=WORKDAY(A2,7)开始练习。先让开始日期和工作日天数跑通,再继续往下加入节假日范围。
把节假日单独列出,WORKDAY才能算得更精准
真正做排期时,最容易算错的不是周末,而是法定节假日、公司调休或团队自定义停工日。所以别把节假日写在备注里,最好单独放在一列或一块区域中,让WORKDAY直接引用这个范围。以后假期变了,只需要修改节假日清单,不用整段重写公式。

常见写法就是=WORKDAY(A2,A3,H4:H14)这种结构:A2放开始日期,A3放推进的工作日天数,H4:H14放节假日名单。结果出来后,先看返回日期是否自动避开了长假,再批量向下填充。
先用DATEDIF核对两个日期相差了多少天
WORKDAY算出结束日期以后,最好别直接把它当最终结果交出去。用DATEDIF做一次反向核对,更稳妥。最基础的是=DATEDIF(A1,B1,"D"),看两个日期之间相差多少天。这里返回的是自然日天数,特别适合先确认开始日期和结束日期有没有填反,或者整个排期跨度是否明显超出预期。

很多人第一次用DATEDIF时最容易踩的坑,就是把开始日期和结束日期位置写反,直接报错或得到不合理结果。所以这一步别省,先把差值核清楚,再决定后面要不要继续拆成年、月、日格式展示。
需要展示工期时,再把DATEDIF拆成年月日组合
如果这张表不只是自己算,还要给领导、客户或同事看,那么只返回一个总天数通常不够直观。这个时候可以把DATEDIF分别拆成“Y”“YM”“MD”,再拼成“几年几个月几天”的展示格式。这样在人事在岗时长、合同履行周期、试用期统计这类表里,会更容易被看懂。

这里重点不是把公式写得多复杂,而是让最终显示出来的时长不用再靠人去心算。只要展示清楚,后续校对和汇报都会轻松很多。
把WORKDAY结果和DATEDIF复核结果放在同一行看
一张实用的排期表,最好让开始日期、工作日天数、WORKDAY推算结果和DATEDIF复核结果放在同一行或相邻区域里。这样一眼就能看出:某项任务理论上几号完成,实际跨度是否落在合理区间。尤其是同时管理多个节点时,这种并排对照比只留一个结束日期更容易查错。

正式交付前,建议顺手改一组开始日期,再改一组节假日清单做联动测试:看WORKDAY返回日期会不会跟着变,再看DATEDIF展示的跨度有没有同步更新。只要这两处都能联动,后面不管做项目排期表还是工龄统计表,都能直接复用这套公式框架。
