小伙伴们好?。?今天咱们继续来分享一个ExcelHome知识星球里一位同学的问题 。
如下图所示,希望根据B列的出生日期和C列的统计截至日期,来计算两个日期之间的间隔,希望得到的结果是xx年xx个月xx天的形式 。

在Excel里要计算两个日期之间的间隔 , 那就非DATEDIF函数莫属了 。这个函数的写法为:
=DATEDIF(开始日期,结束日期,返回的间隔类型)
第1参数和第2参数,可以引用单元格中的日期,也可以写成带半角双引号的日期 , 比如"2021-5-1"这样的 。
第3参数用不同的字母来指定返回的间隔类型 。
如果为 Y,则返回两个日期之间的整年数 , 不足1年的部分自动舍去 。
如果为M,则返回两个日期之间的整月数 , 不足1月的部分自动舍去 。
如果为D,则返回两个日期之间的天数 。
还有几个字符,用来返回特殊要求的间隔类型 。
如果为 MD,则在忽略年和月的前提下,返回两个日期之间的间隔天数 。
例如 , 下面这个公式结果将得到2 。表示15日到17日,间隔了两天 。
=DATEDIF("2018/7/15","2021/5/17","MD")
如果为 YM,则在忽略年和日的前提下,返回两个日期之间的间隔月数 。
例如 , 下面这个公式结果将得到10 。表示从7月到次年的5月,间隔了10个月 。
=DATEDIF("2018/7/15","2021/5/17","YM")
如果为 YD,则在忽略年的前提下,返回两个日期之间的间隔天数 。
例如 , 下面这个公式结果将得到306 。表示从7月15日到次年的5月17日,间隔了306天 。
=DATEDIF("2018/7/15","2021/5/17","YD")
回到咱们的问题当中,要得到xx年xx个月xx天形式的日期间隔,该怎么计算呢?

以D2单元格公式为例,首先使用以下公式计算出两个日期间隔的完整年数,结果为1,表示从20年6月21日至21年6月22日完整的年数为1:
DATEDIF(B2,C2,"Y")
再使用以下公式,在忽略年和日的前提下计算出两个日期间隔的月数,结果为0,表示从6月到6月间隔的月数为0:
DATEDIF(B2,C2,"YM")
然后使用以下公式,在忽略年和月的前提下返回两个日期之间的间隔天数,结果为1,表示从21日到22日,间隔了1天 。
DATEDIF(B2,C2,"MD")
最后,咱们只要把这三个公式和一些字符合并起来,就得到需要的结果了:
=DATEDIF(B2,C2,"Y")&"岁"&DATEDIF(B2,C2,"YM")&"个月"&DATEDIF(B2,C2,"MD")&"天"

好了,今天咱们的分享就是这些吧 , 祝大家一天好心情,努力生三宝~~
【怎么计算两个日期间隔了几年几个月几天】图文制作:祝洪忠
