DATEDIF 函数
约 549 字大约 2 分钟
适用范围
Microsoft 365 专属 Excel, Microsoft 365 Mac 版专属 Excel, Excel 网页版, Excel 2024, Excel 2024 for Mac, Excel 2021, Excel 2021 for Mac, Excel 2019, Excel 2016
1. 函数简介
DATEDIF 函数用于计算两个日期之间的天数、月数或年数。该函数在 Excel 的函数列表中不会自动提示,需要手动输入,但在所有版本中均可正常使用。它常用于计算年龄、工龄、项目时长等场景。
2. 语法
DATEDIF(start_date, end_date, unit)| 参数 | 选填 | 说明 |
|---|---|---|
| start_date | 必需 | 起始日期,必须早于或等于 end_date,否则返回 #NUM! 错误。 |
| end_date | 必需 | 结束日期。 |
| unit | 必需 | 返回值的类型,为以下字符串之一:"Y"(完整的年数)、"M"(完整的月数)、"D"(天数)、"YM"(忽略年份后的月数差)、"YD"(忽略年份后的天数差)、"MD"(忽略年月后的天数差)。 |
3. 示例
3.1. 计算两个日期之间的天数
=DATEDIF("2023/1/1", "2024/3/15", "D")返回两个日期之间的总天数,结果为 439。
3.2. 计算完整年数(年龄)
=DATEDIF("1990/5/20", "2024/3/15", "Y")返回完整年数,结果为 33。
3.3. 计算忽略年份后的月数差
=DATEDIF("2023/1/15", "2024/3/10", "YM")返回忽略年份后两个日期之间的月数差,结果为 1(即 1 个月)。
3.4. 计算忽略年份后的天数差
=DATEDIF("2023/1/15", "2024/3/10", "YD")返回忽略年份后两个日期之间的天数差,结果为 55。
4. 实用技巧
4.1. DATEDIF 是一个"隐藏"函数
DATEDIF 是一个"隐藏"函数,在输入时不会出现函数提示,需要确保拼写正确;
4.2. startdate 必须早于或等于 enddate
start_date 必须早于或等于 end_date,否则会返回 #NUM! 错误;
4.3. 当 unit 为 "MD" 时
当 unit 为 "MD" 时,在某些边界情况下可能返回不准确的结果,建议改用 =结束日期-DATE(YEAR(结束日期),MONTH(结束日期),1) 之类的公式替代:

4.4. 常用于年龄计算
常用于年龄计算,公式为 =DATEDIF(出生日期, TODAY(), "Y")。