会计上常用的固定资产折旧方法有:平均年限法、双倍余额递减法、年限总和法。这三种方法,在Excel中具有对应的函数;但是非常遗憾的是,对于三种方法只能计算当期的折旧金额(年或月),而不能直接计算固定资产的累计折旧。
搜遍了网络,也没有发现一个好的计算固定资产累计折旧的函数公式,因此花了一点时间,琢磨出了一些方法,算是抛砖引玉吧。
一、平均年限法
平均年限法属于直线法,其特点是在不考虑固定资产减值的情况下每期折旧金额是一致的,因此其累计折旧计算是三种方法中最简单的。
(一)当期折旧金额的计算
函数公式:SLN(固定资产原值,预计净残值,使用期限)
说明:上述公式中的“使用期限”可以是“年份数”或者“月份数”。比如某固定资产使用期限是5年(60个月):如果是函数公式中输入的是5的话,则计算的结果就是年度的折旧金额;如果是函数公式中输入的是60的话,则计算的结果就是月度的折旧金额。
举例:如图E1-1
在图E1-1的单元格B4中输入函数公式:=SLB(A2,A2*B2,C2);就可以求出第1期的折旧金额。因为要求向下拖拽批量复制公式,所以将不能变动的单元格变成绝对引用(就是加上$符号,快速方法是使用F4键哦),然后拖拽B4向下批量复制公式即可。
(二)累计折旧的计算
在图E1-1的单元格C4中输入公式:=B4*A4。同样,拖拽C4向下批量复制即可。
(三)扩展性应用
图E1-1的计算式样并不能满足财务实际工作的需要,因为一般企业不只是一台固定资产,且购入时间也是前后不一,我们平时可能同时批量需要所有固定资产的月折旧、年折旧以及累计折旧等。财务实际工作中可能更加需要的是这样格式表格:图E1-2
最好的是:在“查询月度:”后的蓝色区域单元格中输入一个时间,下面表格就能自动计算月折旧、年折旧和累计折旧。
下面就来分别讲述怎么设置公式吧!
1.月折旧计算
(1)虽然Excel有现成的函数,但是在图E1-2表格中设置公式需要考虑几个因素:
①会计准则规定,当月入账的固定资产当月不能折旧。因此,需要比较查询月度与入账时间。
②如果查询月度的时间早于入账时间,该固定资产尚未入账,当然不可能产生折旧。
③如果查询月度的时间已经是固定资产达到使用期限之后了,固定资产要么已经清理了,要么已经不再折旧。
其实,上述三个因素都需要对“查询月度”与“入账时间”进行比较,因此需要折旧函数公式前嵌套IF函数和DATEDIF函数等。
(2)在单元格G4输入函数公式:
=ROUND(IF(E2<C4,0,IF(AND(DATEDIF(C4,E2,"M")>0,DATEDIF(C4,E2,"M")<=F4*12),SLN(D4,D4*E4,F4*12),0)),2)
(3)分别对相关函数和公式含义解释如下:
① ROUND:四舍五入函数;
②DATEDIF:求两个时间之间间隔的时间,可以间隔的计算年、月、日;
③IF:逻辑函数,进行条件判断;
④SLN:直线法折旧函数;
⑤函数公式含义:当“查询时间”小于“入账时间”时,月折旧为0;否则,当“查询时间”与“入账时间”月份间隔数同时满足大于0且小于“使用年限*12”时,使用SLN函数按月份折旧;否则,月折旧为0。
2.年折旧计算
还是以图E1-2为例,需要计算“查询月度”当年的“年折旧”金额,比如输入的查询月度是2018年5月,但是需要计算2018年全年的年折旧金额(以下相同,不再提示)。
(1)计算年折旧应考虑的因素
虽然前面已经计算了月折旧,但是不能简单的用月折旧金额乘以12,除了需要考虑月折旧的3因素外,计算年折旧还需要考虑:固定资产入账的第一年,折旧月份不足12月;使用期限到期的最后一年,也可能折旧月份不足12个月。
(2)在单元格H4输入函数公式:
=ROUND(IF(DATE(YEAR($E$2),12,31)<C4,0,IF(DATEDIF(C4,DATE(YEAR($E$2),12,31),"M")<12,SLN(D4,D4*E4,F4*12)*DATEDIF(C4,DATE(YEAR($E$2),12,31),"M"),IF(AND(DATEDIF(C4,DATE(YEAR($E$2),12,31),"M")>=12,DATEDIF(C4,DATE(YEAR($E$2),1,1),"Y")<F4),SLN(D4,D4*E4,F4),0))),2)
3.累计折旧计算
需要考虑的因素与月折旧、年折旧类似,不再赘述。
在单元格I4中输入函数公式:
=ROUND(IF($E$2<C4,0,IF(AND(DATEDIF(C4,$E$2,"M")>=0,DATEDIF(C4,$E$2,"M")<=F4*12),SLN(D4,D4*E4,F4*12)*DATEDIF(C4,$E$2,"M"),D4*(1-E4))),2)
二、年限总和法
年限总和法使用函数公式计算的结果不能简单地乘以使用期限,因为每期的折旧金额都不一致。虽然可以按月份来进行折旧,但是其计算结果与中国会计处理的按年折旧后再除以12是不等的,因此也不能简单地按月进行折旧。下面以图E1-3来研究累计折旧的规律:
研究后发现:累计折旧率是有规律可循的,分母是预计使用年限逐年数字之和(与折旧率的分母一样),分子是分母减一个等差数列之和。这个计算就是考验中学的数学知识而已,然后把相关数字换为可引用的单元格。
图E1-3的实际应用不大,还是以图E1-2为例看实际应用。
(一)月折旧的计算
在单元格G4输入函数公式:
=ROUND(IF($E$2<C4,0,IF(AND(DATEDIF(C4,$E$2,"M")>0,DATEDIF(C4,$E$2,"M")<=F4*12),SYD(D4,D4*E4,F4,ROUNDUP(DATEDIF(C4,$E$2,"M")/12,0)),0))/12,2)
(二)年折旧的计算
在单元格H4输入函数公式:
=IF(OR(DATE(YEAR($E$2),12,31)<=C4,DATE(YEAR($E$2),12,31)-C4<30),0,IF(DATEDIF(C4,DATE(YEAR($E$2),12,31),"M")<12,SYD(D4,D4*E4,F4,ROUNDUP(DATEDIF(C4,DATE(YEAR($E$2),12,31),"M")/12,0))*MOD(DATEDIF(C4,DATE(YEAR($E$2),12,31),"M"),12),IF(DATEDIF(C4,DATE(YEAR($E$2),12,31),"M")<=F4*12,SYD(D4,D4*E4,F4,ROUNDUP(DATEDIF(C4,DATE(YEAR($E$2),12,31),"M")/12,0))*MOD(DATEDIF(C4,DATE(YEAR($E$2),12,31),"M"),12)+SYD(D4,D4*E4,F4,ROUNDDOWN(DATEDIF(C4,DATE(YEAR($E$2),12,31),"M")/12,0))*(12-MOD(DATEDIF(C4,DATE(YEAR($E$2),12,31),"M"),12)),IF(DATEDIF(C4,DATE(YEAR($E$2),12,31),"M")<=F4*12+11,SYD(D4,D4*E4,F4,F4)*MONTH(C4),0))))/12
(三)累计折旧的计算
在单元格I4输入函数公式:
=IF(EOMONTH($E$2,0)<C4,0,IF(AND(DATEDIF(C4,EOMONTH($E$2,0),"M")>=0,DATEDIF(C4,EOMONTH($E$2,0),"M")<F4*12),D4*(1-E4)*((1+F4)*F4-(1+F4-INT(DATEDIF(C4,EOMONTH($E$2,0),"M")/12))*(F4-INT(DATEDIF(C4,EOMONTH($E$2,0),"M")/12)))/((1+F4)*F4)+SYD(D4,D4*E4,F4,DATEDIF(C4,EOMONTH($E$2,0),"Y")+1)*DATEDIF(C4,EOMONTH($E$2,0),"YM")/12,D4*(1-E4)))
三、双倍余额递减法
还是以图E1-2为例看实际应用。
(一)月折旧的计算
在单元格G4输入函数公式:
=IF($E$2<C4,0,IF(OR(DATEDIF(C4,EOMONTH($E$2,0),"M")=0,DATEDIF(C4,EOMONTH($E$2,0),"M")>F4*12),0,IF(DATEDIF(C4,EOMONTH($E$2,0),"M")<(F4-2)*12,DDB(D4,D4*E4,F4,ROUNDUP(DATEDIF(C4,EOMONTH($E$2,0),"M")/12,0)),(D4*(1-2/F4)^(F4-2)-D4*E4)/2)))/12
(二)年折旧的计算
在单元格H4输入函数公式:
=IF(DATE(YEAR($E$2),12,31)<C4,0,IF(DATEDIF(C4,DATE(YEAR($E$2),12,31),"M")=0,0,IF(DATEDIF(C4,DATE(YEAR($E$2),12,31),"M")<=12,DATEDIF(C4,DATE(YEAR($E$2),12,31),"M")*DDB(D4,,F4,1)/12,IF(DATEDIF(C4,DATE(YEAR($E$2),12,31),"Y")<F4-2,(DDB(D4,,F4,DATEDIF(C4,DATE(YEAR($E$2),12,31),"Y"))*(12-DATEDIF(C4,DATE(YEAR($E$2),12,31),"YM"))+DDB(D4,,F4,DATEDIF(C4,DATE(YEAR($E$2),12,31),"Y")+1)*DATEDIF(C4,DATE(YEAR($E$2),12,31),"YM"))/12,IF(DATEDIF(C4,DATE(YEAR($E$2),12,31),"Y")<=F4-1,(DDB(D4,,F4,F4-2)*(12-DATEDIF(C4,DATE(YEAR($E$2),12,31),"YM"))+(D4*(1-2/F4)^(F4-2)-D4*E4)/2*DATEDIF(C4,DATE(YEAR($E$2),12,31),"YM"))/12,IF(DATEDIF(C4,DATE(YEAR($E$2),12,31),"Y")=F4,(12-DATEDIF(C4,DATE(YEAR($E$2),12,31),"YM"))*(D4*(1-2/F4)^(F4-2)-D4*E4)/24,0))))))
(三)累计折旧的计算
在单元格I4输入函数公式:
=IF(C4>$E$2,0,IF(DATEDIF(C4,EOMONTH($E$2,0),"M")<(F4-2)*12,G4*MOD((DATEDIF(C4,EOMONTH($E$2,0),"M")),12)+D4*(1-(1-2/F4)^DATEDIF(C4,EOMONTH($E$2,0),"Y")),IF(DATEDIF(C4,EOMONTH($E$2,0),"M")<F4*12,(D4*((1-2/F4)^(F4-2)-E4)/24)*(DATEDIF(C4,EOMONTH($E$2,0),"M")-(F4-2)*12)+D4*(1-(1-2/F4)^(F4-2)),D4*(1-E4))))
利用Excel计算固定资产折旧,需要充分考虑会计准则规定以及函数本身的限制,同时尽可能地通过数学知识尽量找出规律并简化。前面设置的函数公式,看起来有点复杂,只看函数公式可能并不能直接理解其含义,建议下载Excel版本文件或复制函数公式到Excel文档中,亲自测试,才能更好理解。
上述这些函数公式是我根据自身的逻辑思维设置的,如有更加简化的,请大家不吝赐教!
虽然这些函数公式我已经测试过多次,但是不能保证不存在没有考虑到的瑕疵,希望在测试中发现问题的,一并提出,以便于改进。
/u/6896e2d7-9761-4929-8a6e-339c75511af3/file/636627476373914576.xlsx