在日常工作当中,我们经常需要计算两个日期之间隔了多少天、多少个月或者多少年。比如算员工工龄、算项目周期、算合同到期时间等等,这些场景几乎每个做表的人都会遇到。很多朋友还在用笨办法一天天去数,其实Excel里早就给我们准备好了专门的函数,掌握这几个函数就能轻松搞定所有日期间隔的计算需求。
表姐整理了552页《Office从入门到精通》,私信【教程】即可领取!↑↑↑
一、DATEDIF函数(计算日期间隔)
DATEDIF是Excel中专门用来计算两个日期之间间隔的函数,它可以返回天数、月数或年数等多种结果,是我们处理日期计算最核心的工具。在实际工作中,这个函数的应用范围非常广,比如计算员工入职了多少年零几个月、计算项目已经进行了多少天、计算合同还剩多少个月到期等等,基本上涉及日期差值的场景都离不开它。

该函数需要三个参数:第一个参数是开始日期,第二个参数是结束日期,第三个参数是间隔类型,用"D"表示天数、"M"表示月份、"Y"表示年数,还有"MD"忽略年月只算天数、"YM"忽略年份只算月份、"YD"忽略月份但考虑年份算天数等变体用法。
=DATEDIF(B2, C2, "D") & "天"
二、NETWORKDAYS函数(计算工作日天数)
NETWORKDAYS函数用来计算两个日期之间的工作日数量,它会自动排除周六和周日,也可以自定义排除法定节假日。这个函数在项目管理、考勤统计、工期估算等场景中特别实用,比如你要知道一个项目从开始到结束实际有多少个工作日,或者要算某个员工一个月内实际出勤了多少天,用它就非常方便。它的参数很简单,第一个参数是开始日期,第二个参数是结束日期,第三个参数是可选的节假日区域,可以指定一个日期范围来排除特定的假期。
=NETWORKDAYS(B2, C2)

三、TEXT函数配合DATEDIF(生日智能提醒)
将TEXT函数和DATEDIF组合使用,可以实现很多智能化的日期提醒功能,最典型的应用就是根据员工的出生日期自动判断是否即将过生日,并在临近时给出提示。这在HR管理中非常实用,你不需要每天去看日历去对谁的生日快到了,Excel会自动帮你筛选出来告诉你还有几天。公式的思路是用10减去出生日期与今天的间隔天数(按"YD"方式计算),如果结果为正数说明生日还没到,如果小于等于0说明就是今天或已过期,再用TEXT函数把数字转换成友好的文字提示。
=TEXT(10-DATEDIF(B2-10,TODAY(),"YD"),"还有0天生日;今天生日")

四、DATEDIF计算员工工龄(精确到年月日)
用DATEDIF函数可以精确计算出一名员工从入职到现在一共工作了多少年、多少个月又多少天,这在制作人事档案、计算年假天数、确定离职补偿等工作中都是必不可少的数据。很多公司还在手工计算工龄,容易出错不说,人员多了根本忙不过来,一个公式拖下去全部搞定。实现方法是将三个不同间隔类型的DATEDIF用连接符&拼接在一起,分别用"y"获取年数、"ym"获取除去整年后的月份数、"md"获取除去整月后的天数,最终得到类似"3年5个月12天"这样的完整工龄信息。
=DATEDIF(C2, D2, "y") & "年" & DATEDIF(C2, D2, "ym") & "月" & DATEDIF(C2, D2, "md") & "天"
以上就是Excel中计算间隔天数最常用的几个方法和函数了。DATEDIF作为核心函数可以满足绝大多数日期差值计算的需求,NETWORKDAYS则专门解决工作日的统计问题,再配合TEXT等函数还能做出各种智能化的日期提醒。把这些函数熟练运用起来,以后遇到日期计算的问题就不用再发愁了。
夜雨聆风