如下图所示,希望根据B列的出生日期和C列的统计截至日期,来计算两个日期之间的间隔,希望得到的结果是xx年xx个月xx天的形式。
要计算两个日期之间的间隔,那就非DATEDIF函数莫属了。这个函数的写法为:
=DATEDIF(开始日期,结束日期,返回的间隔类型)第1参数和第2参数,可以引用单元格中的日期,也可以写成带半角双引号的日期,比如"2021-5-1"这样的。
如果为 Y,则返回两个日期之间的整年数,不足1年的部分自动舍去。如果为M,则返回两个日期之间的整月数,不足1月的部分自动舍去。如果为 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:
再使用以下公式,在忽略年和日的前提下计算出两个日期间隔的月数,结果为0,表示从6月到6月间隔的月数为0:然后使用以下公式,在忽略年和月的前提下返回两个日期之间的间隔天数,结果为1,表示从21日到22日,间隔了1天。最后,咱们只要把这三个公式和一些字符合并起来,就得到需要的结果了:=DATEDIF(B2,C2,"Y")&"岁"&DATEDIF(B2,C2,"YM")&"个月"&DATEDIF(B2,C2,"MD")&"天"