在Excel中,如何计算两个日期的相隔年、月、天数

日期是由连续的序列号来保存的,如果需要计算两个日期间隔的总天数,用简单的减法就可以实现。但是,有时候需要将间隔的总天数折合成多少年多少个月零多少天的形式,如图 171‑1所示,又该如何操作呢?

图171‑1日期列表

解决方案

使用DATEDIF函数计算两个日期的年、月、天数。

操作方法

选择C3:C15单元格区域,输入下列公式,按<Ctrl+Enter>组合键结束。

=DATEDIF(A3,B3,”Y”)

选择D3:D15单元格区域,输入下列公式,按<Ctrl+Enter>组合键结束。

=DATEDIF(A3,B3,”YM”)

选择E3:E15单元格区域,输入下列公式,按<Ctrl+Enter>组合键结束。

=DATEDIF(A3,B3,”MD”)

原理分析

DATEDIF函数计算日期间隔时长

DATEDIF函数用于返回两个日期间相差的天数、月数或年数。语法如下:

DATEDIF(start_date,end_date,unit)

其中,第1参数start_date代表起始日期。,第2参数end_date代表终止日期。两者可以多种输入方式,例如带引号的文本字符串”2001-1-30″、序列数36921或其他公式或函数的结果(例如 DATEVALUE(“2001-1-30”)、DATE(2008,8,8)等)。但要求终止日期必须大于等于起始日期,否则计算将返回错误。

第3参数unit为要返回的信息的类型,支持使用数组。该参数有如下六种:

“Y” 时间段内的整年数。

“M” 时间段内的整月数。

“D” 时间段内的天数。

“MD” start_date 和 end_date 之间相差的天数。忽略日期中的月份和年份。

“YM” start_date 和 end_date 之间相差的月数。忽略日期中的天和年份。

“YD” start_date 和 end_date 之间相差的天数。忽略日期中的年份。

例如,某个宝宝于2008年8月8日出生,截止2010年5月16日,使用以下公式将返回“1年09个月08天”:

=TEXT(SUM(DATEDIF(“2008-8-8″,”2010-5-16”,{“y”,”ym”,”md”})*10^{4,2,0}),”0岁00个月00天”)