夜雨聆风学习资料网

ARTICLE · 1262002

DATEDIF 函数|Excel 算工龄、间隔年月天数,人事必备

DATEDIF 函数|Excel 算工龄、间隔年月天数,人事必备

人事做表的时候,经常需要算工龄、入职到现在的时长、两个日期之间相差多久。

很多人自己拿日期相减,算出来乱七八糟,还要手动换算年月。

今天这个 DATEDIF,就是专门用来算日期差的隐藏函数。

✅ 基础语法

=DATEDIF(开始日期,结束日期,”单位”)

注意:结束日期一定要大于开始日期,否则直接报错

👉 单位代码对照

  • "Y":相差整年(算工龄首选)
  • "M":相差整月
  • "D":相差总天数
  • "YM":扣除年份之后,剩余的月份
  • "YD":扣除年份之后,剩余的天数
  • "MD":扣除年月之后,剩余的天数

✅ 示例 1:只算工龄(多少年)B2 是入职日期,今天作为截止日期

=DATEDIF(B2,TODAY(),”Y”)

✅ 示例 2:显示【X 年 X 个月 X 天】完整版工龄(人事最常用)

=DATEDIF(B2,TODAY(),"Y")&"年"&DATEDIF(B2,TODAY(),"YM")&"个月"&DATEDIF(B2,TODAY(),"MD")&"天"

输入之后,自动组合成:3 年 5 个月 12 天,直接复制到员工表。

✅ 示例 3:只算间隔多少个月

=DATEDIF(B2,C2,”M”)

✅ 示例 4:只算相隔天数

=DATEDIF(B2,C2,”D”)

❌ 高频踩坑提醒

  1. 单元格必须是真正的日期格式,文本日期会报错;
  2. 开始日期>结束日期,会出现 #NUM! 错误;
  3. TODAY () 函数是动态的,表格每次打开都会自动更新时长;如果想要固定日期,直接填固定日期单元格,不要用 TODAY;

✨ 补充小技巧:想屏蔽报错,套上 IFERROR

=IFERROR(DATEDIF(B2,TODAY(),”Y”)&”年”&DATEDIF(B2,TODAY(),”YM”)&”个月”&DATEDIF(B2,TODAY(),”MD”)&”天”,”日期有误”)

日期填错的时候,不会出现难看的报错,直接显示 “日期有误”。

人事、行政、做人员台账的小伙伴,这个公式直接保存,以后算工龄不用再拿着日历慢慢数。

相关学习资料