小伙伴们好啊,今天老祝和大家分享一个实用的日期计算公式。

如下图所示,是某单位的固定资产明细表,(为了便于演示,里面的项目有所删减),需要根据A列的启用日期和F列的计提年限,来计算该资产在本年度中的折旧月数

累计折旧时间的计算(实用才是硬道理)(1)

已知固定资产折旧的计算规则为入账次月开始计提,使用年限到期后的当月照提折旧,所以这里咱们要先计算出初始折旧日期和到期日期。

初始折旧日期

也就是启用日期次月的第一天:

=EOMONTH(A2,0) 1

EOMONTH函数用于返回某个日期之前或之后月的最后一天,这里的第二参数使用0,表示返回第一参数所在月的最后一天,再加上1,就得到次月第一天的日期了。

折旧到期日期

也就是从实际折旧日期开始,N个月后的日期:

=EDATE(EOMONTH(A2,0) 1,F2*12)

EDATE函数用于根据指定月数,返回某个日期之前或之后月数的日期。

先用F2单元格中的使用年限乘以12,得到固定资产的折旧总月数。然后以折旧开始日期为基准,得到该月数后的日期。

咱们先把这两部分公式备用,接下来看看在计算本年折旧月数时还要考虑的两个问题:

一:本年折旧的起始日期

如果初始折旧的日期早于本年1月1日,就从本年的1月1日开始算起,否则就从初始折旧日期开始算起。

这部分的计算,咱们可以使用MAX函数来完成:

=MAX(EOMONTH(A2,0) 1,"2019-1-1")

也就是从“初始折旧日期”和本年的1月1日之中,提取最大的一个日期。


二:本年折旧的截止日期

如果折旧到期日期晚于本年12月31日,就到本年的12月31日截止计算,否则按实际的折旧到期日期计算。

这部分的计算,咱们可以使用MIN函数来完成:

=MIN(EOMONTH(EDATE(A2,F2*12),0),"2019-12-31")

也就是从“折旧到期日期”和本年的12月31日之中,提取最小的一个日期。

到了这一步,本年折旧计算的开始日期以及截止日期就都计算出来了,接下来,咱们再使用DATEDIF函数计算出这两个日期之间的间隔月数就OK了。

DATEDIF函数的用法是:

DATEDIF(开始日期,结束日期,日期间隔类型)

由于DATEDIF在计算月数时,从1月1日到2月1日这样的整月数才算一个月,因此在本例计算中,本年折旧的截止日期还要再加上一天。

最后咱们要做的,就是把以上公式组合到一起了:

在G2单元格输入以下公式,向下复制,OK了:

=DATEDIF(MAX(EOMONTH(A2,0) 1,"2019-1-1"),MIN(EOMONTH(EDATE(A2,F2*12),0),"2019-12-31") 1,"m")

累计折旧时间的计算(实用才是硬道理)(2)

虽然公式看起来很长,但是只要把咱们前面的每一步都认真读一下,理解公式也就是水到渠成的事了。


图文制作:祝洪忠

,