DATEDIF 函数

网友投稿 464 2022-11-24

DATEDIF 函数

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

警告: Excel提供了DATEDIF函数,以便支持来自Lotus1-2-3的旧版工作簿。在某些应用场景下,DATEDIF函数计算结果可能并不正确。有关详细信息,请参阅本文中的“已知问题”部分。

语法DATEDIF(start_date,end_date,unit)

参数 说明

start_date

必需

表示给定期间的第一个或开始日期的日期。日期值有多种输入方式:带引号的文本字符串(例如”2001/1/30″)、序列号(例如36921,在商用1900日期系统时表示2001年1月30日)或其他公式或函数的结果(例如DATEVALUE(“2001/1/30”))。

end_date

必需

用于表示时间段的最后一个(即结束)日期的日期。

DATEDIF 函数

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函数在用于计算年龄的公式中很有用。

Ifstart_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技术社区中咨询专家,在解答社区获得支持,或在ExcelUserVoice上建议新功能或功能改进。

另请参阅Excel函数(按字母顺序)

Excel函数(按类别列出)

如何避免损坏的公式

注意: 本页面是自动翻译的,可能包含语法错误或不准确之处。我们的目的是使此内容能对你有所帮助。能否告知我们此信息是否有所帮助?下面是该参考内容的英文版。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:在单元格中插入当前日期和时间
下一篇:WORKDAY 函数
相关文章