Σ表格公式学堂EXCEL FORMULA & SCENARIO
入门日期与时效计算 · 3 个 Sheet

计算员工工龄 / 入职天数

入职几年几个月,一条公式算清楚。

1

场景背景

HR 要统计每个人的工龄,用于年假、调薪。工龄不是简单相减,要按「整年 + 零头月」表示。DATEDIF 是隐藏函数,专门干这个:单位 Y 取整年、YM 取忽略年之后的月数、D 取总天数。

2

数据结构

共 1 个 Sheet
Sheet:员工信息
字段含义示例值
姓名员工张三
入职日期真日期2019-03-15
工龄(年)DATEDIF Y7
零头月DATEDIF YM7
3

解决步骤

1
第 1 步:算整年工龄
DATEDIF(入职日, TODAY(), "Y"),注意单位要加英文双引号。
=DATEDIF(D2,TODAY(),"Y")
2
第 2 步:算零头月
单位换成 YM,只取去掉整年后的月数,0~11。
=DATEDIF(D2,TODAY(),"YM")
3
第 3 步:拼成「7年7个月」
用 & 把数字和文字拼起来,中间加个「年」「个月」。
=DATEDIF(D2,TODAY(),"Y")&"年"&DATEDIF(D2,TODAY(),"YM")&"个月"
4
第 4 步:算入职总天数
单位写 D 就是总天数,可用于计算年假折算。
=DATEDIF(D2,TODAY(),"D")
4

完整公式与逐段拆解

=DATEDIF(D2,TODAY(),"Y")&"年"&DATEDIF(D2,TODAY(),"YM")&"个月"
DATEDIF(D2,TODAY(),"Y")整年数,如 7
&"年"&拼上「年」字
DATEDIF(D2,TODAY(),"YM")零头月数,如 7
&"个月"拼上「个月」
5

多 Sheet 示例

在编辑器中打开 ↗
ABCDEFG
1工号姓名部门入职日期月薪工龄(年)零头月
2E01张三销售部2019-03-15800077
3E02李四技术部2021-07-01950053
4E03王五销售部2022-01-10760049
5E04赵六市场部2023-09-20680031
6E05孙七销售部2020-05-08820065
7E06周八技术部2024-02-19900028
8E07吴九市场部2018-11-057200711
9E08郑十技术部2022-08-30880042
10
当前表:员工信息 · 公式单元格 F2 · 绿色底为公式,蓝色底为动态数组溢出结果

员工信息 F、G 列算出工龄年数和零头月数

6

数据流向

数据流向演示1 / 4
来源员工信息!D2
➜
去向DATEDIF
入职日期
来源TODAY()
→
去向DATEDIF
与今天比较
来源DATEDIF
→
去向F2 / G2
取整年 / 零头月
来源F2,G2
→
去向「7年7个月」
拼成可读文案
跟着高亮一步步看数据怎么流动
7

注意事项与坑

!DATEDIF 是隐藏函数,输入时没有参数提示,别以为打错了。
!开始日期晚于结束日期会返回 #NUM!。
!入职日期是文本时先转成真日期,否则 #VALUE!。
8

相关场景