在Excel中计算工龄(包含年、月、日)可以使用以下公式和技巧:
一、基础公式结构
- 年数计算
使用 DATEDIF
函数计算入职日期与当前日期的年数差:
$$=DATEDIF(入职日期,TODAY(),"Y")$$
例如,入职日期为 2022/3/1
,则公式为 =DATEDIF("2022/3/1", TODAY(), "Y")
。
- 月数计算
先计算总月数差,再减去已过年的月数:
$$=TEXT(MOD(DATEDIF(入职日期,TODAY(),"m"),12),"0")$$
例如,总月数为 38
个月,则实际工龄为 38 MOD 12 = 2
个月。
- 日数计算
使用 DATEDIF
函数直接获取天数差:
$$=DATEDIF(入职日期,TODAY(),"d")$$
例如,入职日期为 2022/3/1
,则公式为 =DATEDIF("2022/3/1", TODAY(), "d")
。
二、注意事项
- 日期格式
-
建议将入职日期设置为 "年/月/日" 格式,避免因格式错误导致计算偏差。
-
若日期为文本格式,需先通过
DATEVALUE
函数转为标准日期格式再计算。
- 工龄计算示例
假设入职日期为 2022/3/1
,当前日期为 2025/3/18
:
-
年数:
=DATEDIF("2022/3/1", TODAY(), "Y") = 3
-
月数:
=TEXT(MOD(DATEDIF("2022/3/1", TODAY(), "m"),12),"0") = 2
-
日数:
=DATEDIF("2022/3/1", TODAY(), "d") = 179
-
合并结果:
3年2个月17天
。
三、扩展应用
-
动态填充 :输入第一个员工的工龄公式后,可通过拖拽填充柄批量计算多行数据。
-
精确到工作日 :使用
NETWORKDAYS
函数计算实际工作日工龄(需排除周末和节假日):
$$=NETWORKDAYS(入职日期, TODAY())/365$$
例如:=NETWORKDAYS("2022/3/1", TODAY())/365
。
通过以上方法,可灵活计算工龄,并根据需求调整日期格式和计算精度。