欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Office

Excel 将两个日期间隔的天数折合成年月零多少天的形式

程序员文章站 2022-06-26 10:59:28
在Excel中,如何计算两个日期的相隔年、月、天数 日期是由连续的序列号来保存的,如果需要计算两个日期间隔的总天数,用简单的减法就可以实现。但是,有时候需要将间隔...

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

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

Excel 将两个日期间隔的天数折合成年月零多少天的形式
图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天")