小伙伴们好啊,今天咱们继续来分享一个ExcelHome知识星球里一位同学的问题。

如下图所示,希望根据B列的出生日期和C列的统计截至日期,来计算两个日期之间的间隔,希望得到的结果是xx年xx个月xx天的形式。

怎么直接计算两个日期相差多少天(怎么计算两个日期间隔了几年几个月几天)(1)

在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天形式的日期间隔,该怎么计算呢?

怎么直接计算两个日期相差多少天(怎么计算两个日期间隔了几年几个月几天)(2)

以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")&"天"

怎么直接计算两个日期相差多少天(怎么计算两个日期间隔了几年几个月几天)(3)

好了,今天咱们的分享就是这些吧,祝大家一天好心情,努力生三宝~~

图文制作:祝洪忠

,