Excel DATEDIF 函数
最后修改于 2025 年 4 月 4 日
DATEDIF
函数以各种单位计算两个日期之间的差值。它在 Excel 中是一个隐藏函数,但在日期计算中非常有用。本教程提供了使用 DATEDIF
的全面指南,并附有详细示例。您将学习基本语法、实际应用和高级技术来掌握此函数。
DATEDIF 函数基础
DATEDIF
函数计算两个日期之间的差值。它可以返回年、月或日的计算结果。该函数在 Excel 的帮助文档中没有记录,但自 Lotus 1-2-3 时代以来一直可用。
组成部分 | 描述 |
---|---|
函数名称 | DATEDIF (日期差) |
语法 | =DATEDIF(start_date, end_date, unit) |
参数 | start_date, end_date, unit 代码 |
返回值 | 指定单位的日期差 |
此表分解了 DATEDIF
函数的基本组成部分。它显示了函数名称、基本语法格式、参数和返回值特性。
基本 DATEDIF 示例(天数)
此示例演示了如何使用 DATEDIF
计算两个日期之间的天数。
A | B | C |
---|---|---|
开始日期 | 结束日期 | 结果 |
1/1/2023 | 1/31/2023 | =DATEDIF(A2,B2,"d") |
该表显示了一个简单的电子表格,其中 A 列和 B 列分别包含开始日期和结束日期。C2 中的公式计算这些日期之间的天数差。
=DATEDIF(A2,B2,"d")
此公式计算 2023 年 1 月 1 日至 2023 年 1 月 31 日之间的天数。结果将是 30。 "d" 单位代码指定以天作为返回单位。
DATEDIF 月数差
此示例展示了如何使用 "m" 单位代码计算两个日期之间的完整月份数。
A | B | C |
---|---|---|
开始日期 | 结束日期 | 结果 |
3/15/2023 | 7/20/2023 | =DATEDIF(A2,B2,"m") |
该表演示了计算 2023 年 3 月 15 日至 2023 年 7 月 20 日之间的完整月份数。该公式忽略天数,只计算日期之间的完整月份。
=DATEDIF(A2,B2,"m")
此公式返回 4,表示日期之间的完整月份数。从 3 月到 7 月是 4 个月,与具体天数无关。"m" 单位代码指定以月作为返回单位。
DATEDIF 年数差
此示例演示了如何使用 "y" 单位代码计算两个日期之间的完整年份数。
A | B | C |
---|---|---|
开始日期 | 结束日期 | 结果 |
5/10/2018 | 5/9/2023 | =DATEDIF(A2,B2,"y") |
该表显示了如何计算 2018 年 5 月 10 日至 2023 年 5 月 9 日之间的年数。该公式计算完整年份,因此周年日期前一天将返回少一年的结果。
=DATEDIF(A2,B2,"y")
此公式返回 4,因为 2023 年 5 月 9 日比 5 周年纪念日早一天。"y" 单位代码指定以年作为返回单位。计算的是完整年份,不是四舍五入。
DATEDIF 剩余月数
此示例展示了如何使用 "ym" 单位代码计算完整年份后的剩余月数。
A | B | C |
---|---|---|
开始日期 | 结束日期 | 结果 |
8/25/2020 | 3/15/2023 | =DATEDIF(A2,B2,"ym") |
该表演示了计算 2020 年 8 月 25 日至 2023 年 3 月 15 日之间完整年份后的剩余月数。"ym" 单位忽略年份和天数。
=DATEDIF(A2,B2,"ym")
此公式返回 6,表示从 8 月到 3 月的月份数(不包括年份变化)。"ym" 单位代码计算完整年份后的剩余月数。
DATEDIF 剩余天数(排除年和月)
此示例演示了如何使用 "md" 单位代码计算完整年和月后的剩余天数。
A | B | C |
---|---|---|
开始日期 | 结束日期 | 结果 |
6/10/2022 | 8/25/2023 | =DATEDIF(A2,B2,"md") |
该表显示了如何计算 2022 年 6 月 10 日至 2023 年 8 月 25 日之间完整年和月后的剩余天数。"md" 单位忽略年份和月份。
=DATEDIF(A2,B2,"md")
此公式返回 15,表示从 10 号到 25 号的天数(不包括月份和年份差异)。"md" 单位代码计算完整月份后的剩余天数。
DATEDIF 单位代码
DATEDIF 支持多种单位代码,这些代码决定了日期差的计算方式。理解这些代码对于正确使用该函数至关重要。
单位代码 | 描述 |
---|---|
"d" | 日期之间的天数 |
"m" | 日期之间的完整月份数 |
"y" | 日期之间的完整年份数 |
"ym" | 完整年份后的剩余月数 |
"yd" | 完整年份后的剩余天数 |
"md" | 完整月份后的剩余天数 |
这个全面的表格解释了 DATEDIF
函数所有可用的单位代码。每个代码通过关注特定的日期组成部分产生不同的结果。
DATEDIF 用于年龄计算
DATEDIF
通常用于以年、月、日为单位计算年龄。此示例显示了一个完整的年龄计算公式。
A | B | C |
---|---|---|
出生日期 | 当前日期 | 年龄 |
4/12/1985 | 4/4/2023 | =DATEDIF(A2,B2,"y") & " 年, " & DATEDIF(A2,B2,"ym") & " 月, " & DATEDIF(A2,B2,"md") & " 天" |
该表演示了如何计算一个人从出生日期到当前日期的确切年龄。该公式结合了多个 DATEDIF 函数以获得完整结果。
=DATEDIF(A2,B2,"y") & " years, " & DATEDIF(A2,B2,"ym") & " months, " & DATEDIF(A2,B2,"md") & " days"
此公式对于给定的日期返回 "37 年, 11 月, 23 天"。它结合了三个 DATEDIF 调用和文本连接,以创建可读的年龄字符串。
DATEDIF 用于项目持续时间
DATEDIF 可以计算项目持续时间的月数和天数,这对于项目管理跟踪很有用。
A | B | C |
---|---|---|
开始日期 | 结束日期 | 持续时间 |
10/15/2022 | 3/28/2023 | =DATEDIF(A2,B2,"m") & " 月, " & DATEDIF(A2,B2,"md") & " 天" |
该表显示了如何计算一个项目从 2022 年 10 月 15 日开始到 2023 年 3 月 28 日结束的持续时间。该公式提供了月数和天数。
=DATEDIF(A2,B2,"m") & " months, " & DATEDIF(A2,B2,"md") & " days"
此公式对于给定的日期范围返回 "5 个月, 13 天"。它对于以可读格式跟踪项目时间线和里程碑很有用。
DATEDIF 常见错误
如果使用不当,DATEDIF 可能会返回错误。了解这些错误有助于排除公式问题。
错误 | 原因 | 解决方案 |
---|---|---|
#NUM! | 开始日期 > 结束日期 | 交换日期或验证输入 |
#VALUE! | 无效日期格式 | 确保日期值正确 |
#NAME? | 函数拼写错误 | 检查 "DATEDIF" 拼写 |
结果不正确 | 单位代码错误 | 验证单位代码是否在引号内 |
此表列出了常见的 DATEDIF 错误、其原因和解决方案。正确的日期验证和单位代码使用可以避免大多数问题。
DATEDIF
函数是 Excel 中一个强大但常被忽视的日期计算工具。从简单的天数计算到复杂的年龄计算,DATEDIF
都可以处理各种日期差场景。掌握其单位代码和错误处理将显著提高您的日期相关计算能力。
作者
列出 所有 Excel 公式。