日期函数

DATEDIF 函数语法与实战教程

计算两个日期之间的年、月或日数。

函数语法

DATEDIF(start_date, end_date, unit)

基础使用示例

=DATEDIF("2023-01-01", "2023-12-31", "d")

相关推荐函数

DATEDIF函数完全指南 - 从入门到精通

中级常用度: ⭐⭐⭐⭐日期函数

DATEDIF是Excel中隐藏但极为强大的日期差值计算函数。能够精准计算两个日期间隔的整年数(Y)、整月数(M)或天数(D),是HR计算员工工龄、年假及倒计时提醒的标配公式。

语法详解

DATEDIF(start_date, end_date, unit)

参数说明

参数1 (必填)[表达式/区域/数值]必需

执行 DATEDIF 计算的核心输入项,可以是单元格地址或计算表达式。

参数2 (可选)[区域/参数值]可选

根据具体的业务逻辑指定的判断条件、提取位数或计算方式。

实际应用场景

职场实战 1:员工实足工龄与周岁计算

精确按法定公历日历计算两个日期间隔的完整年数。

示例工作表数据

Sheet1
A B C D
1 员工姓名 入职日期 截止基准日 计算工龄
2陈主管2018-03-152026-09-208年
3王专员2022-07-012026-09-204年
公式应用
=DATEDIF(B2, C2, "Y") & "年"

结果:8年(严格依据公历日历计算满整年工龄)

进阶使用技巧

💡

技巧 1:公式防错与优雅容错处理

在职场正式汇报报表中,建议在外部嵌套 IFERROR 函数,避免因源数据缺失导致整张报表出现 #N/A、#VALUE! 等红字报错。

示例:=IFERROR(DATEDIF(...), "")
💡

技巧 2:善用绝对引用 ($) 防止拖拽错位

在引用固定参数表、税率表或特定基准单元格时,选中单元格按下 F4 快捷键锁定行列号,确保纵向拖动填充时不发生偏移。

💡

技巧 3:快捷键批量输入

选中多个需要填入相同函数的单元格,在公式编辑栏输入完成后,按下 Ctrl + Enter 可一次性批量填充所有选中单元格。

常见错误与解决方案

❌ #VALUE! 数据类型不匹配

当公式期望输入纯数字参数,却意外传入了文本字符或无法解析的字符串时发生。

✅ 解决方案

检查参与运算的单元格中是否混入了文字说明(如 "100元" 而非纯数字 100),改用数值或配合正则清洗。

❌ #NAME? 函数拼写或引用未定义

函数名称拼写错误,或者在公式中输入了文本字符串却未加英文半角双引号(如将 "合格" 写成 合格)。

✅ 解决方案

检查函数拼写是否为标准的英文大写,为所有文字条件加上成对的双引号 ""。

❌ #REF! 引用单元格已被删除

公式原本引用的单元格、行或列被整行删除,导致原先的坐标引用丢失。

✅ 解决方案

使用 Ctrl + Z 撤销操作,或者重新编辑公式指向新的有效单元格。

函数组合应用

DATEDIF + IFERROR 组合

构建稳健生产级报表的通用套路,消除异常中断。

=IFERROR(DATEDIF(...), "-")

在未录入数据或源表更新滞后时,返回中划线 "-" 占位,保持报表格局统一整洁。

DATEDIF + IF 条件嵌套组合

根据前置业务状态决定是否触发本函数的计算,避免无意义的无效计算。

=IF(A2="", "", DATEDIF(...))

当 A2 为空时不显示任何结果,当 A2 录入数据后立刻自动触发计算。

练习题

练习 1: 基础巩固:DATEDIF 的基本调用

结合当前单元格的输入参数,构建最简短标准的一条调用语句。

问题: 在单元格 C2 中应用 DATEDIF 处理 A2 和 B2 的数值。

练习 2: 容错实战:带有防错处理的生产级公式

确保在数据录入前或遇到异常时不抛出错误代码。

问题: 为上述公式加上错误处理。

学习资源下载

DATEDIF函数练习模板

包含多个实际案例的Excel模板,帮助您快速掌握函数用法

函数速查卡片

DATEDIF函数的快速参考卡片,包含语法、参数和常用示例

学习反馈