DATEDIF 函数¶
函数概述¶
DATEDIF 用于计算两个日期之间的差值,既可以按完整的年数、完整的月数、完整的天数来计算,也可以只返回差值中“剩余的月/日”等部分(例如“去掉整年后还剩几个月”)。
它非常适合做这类需求:
- 计算年龄(按周岁/按年月日拆分)
- 计算入职时长、项目周期(年/月/日)
- 统计两个日期之间相隔多少个月、多少天
说明:
DATEDIF是 Excel 中的“隐藏函数”之一,通常不会在函数提示列表里完整展示,但在 Excel 中可正常使用。
基础语法¶
参数说明¶
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
start_date |
日期/可解析为日期的文本/日期序列号 | 是 | 起始日期 |
end_date |
日期/可解析为日期的文本/日期序列号 | 是 | 结束日期(通常应 ≥ 起始日期) |
unit |
文本 | 是 | 返回差值的单位/模式(见下表) |
unit 可选值如下:
| unit | 返回含义 | 示例理解 |
|---|---|---|
"Y" |
两日期间相差的完整年数 | 周岁(不含未满一年的部分) |
"M" |
两日期间相差的完整月数 | 不含未满一月的部分 |
"D" |
两日期间相差的天数 | 直接按天计算差 |
"YM" |
去掉整年后剩余的完整月数 | 年月日拆分里的“月”部分 |
"MD" |
去掉整月后剩余的天数 | 年月日拆分里的“日”部分 |
"YD" |
去掉整年后剩余的天数 | 只看同一年跨度的天数差 |
基础用法示范¶
下面示例假设:
- 起始日期在
A2 - 结束日期在
B2
并给出不同 unit 的典型用法。
1)计算相差完整年数¶
适用场景:按“满多少年”统计,如年龄周岁、在岗满几年。
2)计算相差完整月数¶
适用场景:合同从开始到结束一共“满了多少个月”。
3)计算相差天数(总天数)¶
适用场景:项目周期天数、逾期天数(配合 IF 做判断)。
4)拆分成“X年X月X日”¶
年:
月(去掉整年后剩余月):
日(去掉整月后剩余日):
如果你要拼成一句话显示(示例):
适用场景:展示“已工作 3年2个月15天”这类结果。
5)只计算“去掉整年后”的天数(YD)¶
适用场景:例如只关心“今年内已经过了多少天(相对起始月日)”的差值表达。
总结¶
DATEDIF(start_date, end_date, unit)用来计算两日期差值,核心在于选择合适的unit。- 常用三种基础单位:
"Y"(完整年)、"M"(完整月)、"D"(天数)。 - 拆分“年/月/日”最常用组合是:
"Y"+"YM"+"MD",非常适合做年龄、工龄、累计时长展示。 - 如果需要面向业务输出更友好的文案,可以把多个
DATEDIF结果进行拼接,得到更直观的“X年X月X天”。