
别再手动算工龄了!记住这个Excel“隐藏函数”,打开表格自动更新
今天办公室新来的人事整理劳动合同和花名册,发现前任留下的花名册里工龄从2025年就没有更新过,我们的工龄涉及工龄奖和年假。我很诧异,这种计算工龄不是可以设置好函数公式,每次打开EXCEL表,就能自动更新计算的嘛,还用得着手动计算吗?
下面我来介绍一下这个场景能应用的函数:DATEDIF。
函数定义:计算期间内的年数、月数、天数。
官方说明:计算期间内的年数、月数、天数以指定的“单位”进行天数计算,通过更改"单位,可以进行6种类型天数的计算。
大白话:从已知的一段时间内求年数、月数、天数。
使用格式:
=DATEDIF(start_date,end_date,"y")
=DATEDIF(start_date,end_date,"m")
=DATEDIF(start_date,end_date,"d")
=DATEDIF(start_date,end_date,"ym")
=DATEDIF(start_date,end_date,"yd")
=DATEDIF(date1,date2,"md")
白话格式:=DATEDIF(开始日期,结束日期,要计算的单位)

参数定义:
start_date:指定表示日期的数值(序列号值)或单元格引用。
start_date的月份被视为"0"进行计算。
end_date:指定序列号值或单元格引用。
Y:一段时期内的整年数。应用:可用于计算员工的工龄。
M:一段时期内的整月数。应用:可用于计算库存商品存放日期。
D:一段时期内的整天数。应用:可用于计算应收账款的逾期天数。
YM:日期时间段中月数之差,忽略日期中的年份。
YD:日期时间段中天数之差,忽略日期中的年份。
MD:日期时间段中天数之差,忽略日期中的月份和年份。
要点:不能从"插入函数"对话框中输入,全使用时必须直接键盘输入单元格中。
注意事项:当start_date或end_date中指定的值无法识别为日期时,返回错误值"#VALUE!"。当返回值为负数时,或者y、m、d、ym、yd、md参数没有用双引号括住时,返回错误值"#NAME!"。
别看解释很抽象,实际应用就简单了,不想看函数计算逻辑的,直接来看两个简单案例:


深入进阶应用:计算“工龄奖”与“年假”
工龄奖分段:假设满1年发100,满3年发300。
=IF(DATEDIF(A2, TODAY(), "Y")>=3, 300, IF(DATEDIF(A2, TODAY(), "Y")>=1, 100, 0))
年假天数(含月数):很多公司规定入职满1年有5天,满10年有10天。如果不满1年,按月份折算。
=IF(DATEDIF(A2, TODAY(), "Y")>=10, 10, IF(DATEDIF(A2, TODAY(), "Y")>=1, 5, ROUND(DATEDIF(A2, TODAY(), "M")/12 * 5, 0)))
此外,计算日期、天数、星期的相关函数还有:EDATE,EOMONTH,WORKDAY,NETWORKDAYS,DAYS360,YEARFRAC,WEEKNUM等,有需要了解的小伙伴可以在下方私信发送文件哦~
(我是四月,持续分享财务干货,关注我,让财税之路更轻松!)

错过上一篇热文,可点击👇👇👇

PS:四月整理了2025-2026年的税务师课程学习资料,有需要的朋友可以领取,加入大家庭,一起结伴学习,一群人可以走得更远哦。


↓↓如有用,请点击下方名片关注我,并加星标哦。