2025-12-31 01:41:17 3208
计算两个日期之间相隔的天数、月数或年数。
警告:
Excel 提供了 DATEDIF 函数,以便支持来自 Lotus 1-2-3 的旧版工作簿。 在某些应用场景下,DATEDIF 函数计算结果可能并不正确。 有关详细信息,请参阅本文中的“已知问题”部分。
提示: 如果要查找两个日期之间的天数,只需从较早日期中减去较晚的日期。 这很有效,因为日期在 Excel 中存储为数字。
语法
DATEDIF(start_date,end_date,unit)
参数
说明
start_date
必需
表示给定时间段的第一个或开始日期的日期。 日期值有多种输入方式:带引号的文本字符串(例如 "2001/1/30")、序列号(例如 36921,在商用 1900 日期系统时表示 2001 年 1 月 30 日)或其他公式或函数的结果(例如 DATEVALUE("2001/1/30"))。
end_date
必需
用于表示时间段的最后一个(即结束)日期的日期。
Unit
要返回的信息类型,其中:
Unit
返回结果
“Y”
一段时期内的整年数。
“M”
一段时期内的整月数。
“D”
一段时期内的天数。
“MD”
start_date 与 end_date 之间天数之差。 忽略日期中的月份和年份。
重要: 不推荐使用“MD”参数,因为存在相关已知限制。 参阅下面的“已知问题”部分。
“YM”
start_date 与 end_date 之间月份之差。 忽略日期中的天和年份
“YD”
start_date 与 end_date 的日期部分之差。 忽略日期中的年份。
备注
日期存储为可用于计算的序列号。 默认情况下,1900 年 1 月 1 日的序列号为 1,2008 年 1 月 1 日的序列号为 39,448,这是因为它距 1900 年 1 月 1 日有 39,447 天。
DATEDIF 函数在用于计算年龄的公式中很有用。
如果 start_date 大于 end_date,则结果将为 #NUM!。
示例
start_date
end_date
公式
描述(结果)
1/1/2001
1/1/2003
=DATEDIF(Start_date,End_date,"Y")
一段时期内的两个整年 (2)
6/1/2001
8/15/2002
=DATEDIF(Start_date,End_date,"D")
2001 年 6 月 1 日和 2002 年 8 月 15 日之间的天数为 440 (440)
6/1/2001
8/15/2002
=DATEDIF(Start_date,End_date,"YD")
忽略日期中的年份,6 月 1 日和 8 月 15 日之间的天数为 75 (75)
已知问题
“MD”参数可能导致出现负数、零或不准确的结果。 若要计算上一完整月份后余下的天数,可使用如下方法:
此公式从单元格 E17 中的原始结束日期 (5/6/2016) 减去当月第一天 (5/1/2016)。 其原理如下:首先,DATE 函数会创建日期 5/1/2016。 DATE 函数使用单元格 E17 中的年份和单元格 E17 中的月份创建日期。 1 表示该月的第一天。 DATE 函数的结果是 5/1/2016。 然后,从单元格 E17 中的原始结束日期(即 5/6/2016)减去该日期。 5/6/2016 减 5/1/2016 得 5 天。
需要更多帮助吗?
可随时在 Excel 技术社区中咨询专家或在社区中获取支持。
另请参阅
Excel 函数(按字母顺序)
Excel 函数(按类别列出)
如何避免损坏的公式
男篮世界杯中国 2025-05-28 11:42:32
世界杯直播频道 2025-12-28 10:40:37
男篮世界杯中国 2025-09-21 14:47:26
丹麦世界杯阵容 2025-09-29 11:34:19
世界杯直播频道 2025-05-24 12:30:49
丹麦世界杯阵容 2025-10-07 15:18:26
丹麦世界杯阵容 2025-09-08 01:10:55
世界杯直播频道 2025-05-31 22:39:39
世界杯直播频道 2025-06-25 08:04:19
世界杯直播频道 2025-05-07 05:58:38