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

原创 暗潮  2018-05-31 12:28:06  阅读 41 次 评论 6 条
【版权声明】本站部分文章来自网络,欢迎转载本人原创文章、图片,请提供本博客中相应文章的链接。
请勿将原创图片、文章用于商业用途!对于给您带来的不便表示抱歉!!
本站所分享的影视作品均转自网络,仅供测试和学习交流。请在下载后24小时内删除,请购买/支持正版。
若有侵权,请留言告知,万分感谢!

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

比如,在日常应用中,通常需要计算两个日期间隔的年月天等信息,比如在统计人员信息的时候、或者想要了解单位人员年龄、工作时间、或者距离退休还有多久等等,这样的情况下,就需要在Excel中进行计算。那么如何实现呢,这里和大家分享一下,也给自己留个存档,以备不时之需。20180531Excel_00.jpg首先在Excel中需要使用DATEDIF函数来实现,应用该函数可以计算两个日期的之间相隔“几年”、“几个月”、“几天数”,以及知道相隔“几年几个月”、“几年几个月几天”等等。那么到底如何实现呢,下面让我们来看看DATEDIF函数吧。

DATEDIF函数用于返回两个日期间隔的天数、月数或年数。

基本语法如下: DATEDIF(start_date,end_date,unit) 
其中,第1参数start_date代表起始日期,
第2参数end_date代表终止日期
要求终止日期必须大于等于起始日期,否则计算将返回错误。 
这个两个日期可以多种输入方式,可以是常用的日期格式2007-08-09、也可以是其他公式或函数的结果(Today()、DATEVALUE("2007-8-9")、DATE(2008,8,8)等)。

第3参数unit为要返回的信息的类型,支持使用数组。该参数有如下六种:
(1)"Y" 时间段内的整年数。
(2)"M" 时间段内的整月数。
(3) "D" 时间段内的天数。
(4) "YD" start_date 和 end_date 之间相差的天数。忽略日期中的年份。
(5) "MD" start_date 和 end_date 之间相差的天数。忽略日期中的月份和年份。
(6) "YM" start_date 和 end_date 之间相差的月数。忽略日期中的天和年份。

3、实例:(以下实例中,当前日期均为2018-5-31)

(1)计算出生日期为2007-08-09人的年龄

公式:=DATEDIF("2007-08-09",TODAY(),"Y")
结果:10
简要说明:当单位代码为"Y"时,计算结果是两个日期间隔的年数.

(2):计算日期为2007-08-09和当前日期的间隔月份数.

公式:=DATEDIF("2007-08-09",TODAY(),"M")
结果:129
简要说明:当单位代码为"M"时,计算结果是两个日期间隔的月份数.

(3):计算日期为2007-08-09和当前日期的间隔天数.

公式:=DATEDIF("2007-08-09",TODAY(),"D")
结果:3948
简要说明:当单位代码为"D"时,计算结果是两个日期间隔的天数.

(4)计算日期为2007-08-09和当前日期的不计年数的间隔天数.

公式:=DATEDIF("2007-08-09",TODAY(),"YD")
结果:296
简要说明:当单位代码为"YD"时,计算结果是两个日期间隔的天数.忽略年数差

(5)计算日期为2007-08-09和当前日期的不计月份和年份的间隔天数.

公式:=DATEDIF("2007-08-09",TODAY(),"MD")
结果:22
简要说明:当单位代码为"MD"时,计算结果是两个日期间隔的天数.忽略年数和月份之差

(6)计算日期为2007-08-09和当前日期的不计年份的间隔月份数.

公式:=DATEDIF("2007-08-09",TODAY(),"YM")
结果:9
简要说明:当单位代码为"YM"时,计算结果是两个日期间隔的月份数.不计相差年数

对于上述的函数可以综合应用,计算出两个事件之间相差的“几年几个月几天”,比如某个宝宝于2007年8月9日出生,截止当前日期2018年5月31日(也可以用函数today()代替当前日期,这样就能随时计算宝宝的年龄了)!

假设起始日期在A1,结束日期在B1,用如下公式即可计算出:

="宝宝已经出生"&DATEDIF(A1,B1,"y")&"年"&DATEDIF(A1,B1,"ym")&"个月"&DATEDIF(A1,B1,"md")&"天了"

返回的结果为“宝已经出生10年9个月22天了”!

怎么样,这个功能还不错吧?当然了,公式中的汉字是可以根据自己的需要进行修改的!

还有一种方案,结合TEXT、SUM函数一起实现,代码如下:

=TEXT(SUM(DATEDIF(A1,B1,{"y","ym","md"})*{10000,100,1}),"宝宝已经出生0年00个月00天了!!")

使用这个公式将返回“宝宝已经出生10年09个月22天了”!

关于TEXT、SUM函数组合实现的原理就不再解释了,想了解的,大家去问问度娘吧!

本文地址:http://www.wu2007.cn/post/2018/672.html
版权声明:本文为原创文章,版权归 暗潮 所有,欢迎分享本文,转载请保留出处!
【版权声明】本站部分文章来自网络,欢迎转载本人原创文章、图片,请提供本博客中相应文章的链接。
请勿将原创图片、文章用于商业用途!对于给您带来的不便表示抱歉!!
本站所分享的影视作品均转自网络,仅供测试和学习交流。请在下载后24小时内删除,请购买/支持正版。
若有侵权,请留言告知,万分感谢!

发表评论


表情

评论列表

  1. 懿古今
    懿古今  @回复

    excel用好的话有时候效率提升很多

    • 暗潮
      暗潮 2018-06-04 11:08:55  回复

      @懿古今excel功能太强大了,可惜日常只了解皮毛,很多功能都还不会用!

  2. 菊
     @回复

    感谢分享 学到了

  3. 程平博客
    程平博客  @回复

    上次为了这个弄了好久,收藏备用了!