小伙伴们好啊,今天老祝和大家分享一个实用的日期计算公式。
如下图所示,是某单位的固定资产明细表,(为了便于演示,里面的项目有所删减),需要根据A列的启用日期和F列的计提年限,来计算该资产在本年度中的折旧月数。
已知固定资产折旧的计算规则为入账次月开始计提,使用年限到期后的当月照提折旧,所以这里咱们要先计算出初始折旧日期和到期日期。
初始折旧日期
也就是启用日期次月的第一天:
=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")
虽然公式看起来很长,但是只要把咱们前面的每一步都认真读一下,理解公式也就是水到渠成的事了。
图文制作:祝洪忠
,