Σ表格公式学堂EXCEL FORMULA & SCENARIO

DATEDIF日期差值

算两个日期差几年、几个月、几天。

Excel 2016+WPS 兼容在线测试
1

语法结构

DATEDIF(开始日期, 结束日期, 单位)
开始日期结束日期单位方括号 [ ] 表示可选参数
参数必填类型说明示例值
开始日期必填日期较早的日期B2
结束日期必填日期较晚的日期,通常写 TODAY()TODAY()
单位必填文本"Y" 年 / "M" 月 / "D" 天 / "YM" 忽略年的月 / "MD" 忽略年月日"Y"

返回:数字:按单位计算的差值

2

什么时候用它

算员工工龄
DATEDIF(入职日, TODAY(), "Y") 得到几年。
看完整场景方案 →
算合同已过多久
按月算 DATEDIF(签订日, TODAY(), "M")。
看完整场景方案 →
3

动画演示

动画演示·员工表第 1 / 3 步
ABCDE
1姓名入职日期合同到期
2张三2019-03-152024-12-317
3李四2021-07-012024-11-30
4王五2022-01-102025-01-09
5赵六2023-09-202024-10-19
STEP 1
入职日 2019-03-15,今天 2026-10-29
7:2019-03-15
4

示例演示

E2 : =DATEDIF(B2,TODAY(),"Y")
=DATEDIF(B2,TODAY(),"Y") 算张三到今天的整年工龄
ABCDE
1姓名入职日期合同到期
2张三2019-03-152024-12-317
3李四2021-07-012024-11-30
4王五2022-01-102025-01-09
5赵六2023-09-202024-10-19
当前表:员工表 · 公式单元格 E2 · 绿色底为公式,蓝色底为动态数组溢出结果
5

常见错误

现象#NUM!
原因开始日期比结束日期晚
解决两个参数顺序别写反
现象输入公式时没有提示
原因DATEDIF 是隐藏函数,没有参数提示
解决照文档手写,注意单位要加引号
现象"MD" 偶尔算错
原因MD 单位有历史 bug
解决尽量用 "D" 或 "YM" 组合
6

相关公式

动手试一试

在编辑器里载入这个公式的示例数据,改改数字看看结果怎么变。

在编辑器中打开示例 ↗

用到这个公式的场景