1、用Ecxel实现医院固定资产折旧的几种常用方法 王云峰1 徐喆1 张宗利2 (佳木斯大学 附属第一医院1 信息电子技术学院2,黑龙江 佳木斯 154002) 摘 要 医院固定资产折旧是医院财务管理中的重要内容,使用Excel软件可以快捷、准确地实现医院固定资产折旧。本文作者介绍了实际工作中使用的几种常用方法。 关键词 Excel;固定资产;折旧 1 引言 固定资产是医院开展医、教、研活动所必不可少的基本物质要素,也是医院赖以生存和发展的重要资源之一。对医疗设备进行折旧管理,是保证医院固定资产不流失、保障医疗技术水平提高的重要措
2、施。特别是在医疗设备的折旧管理方面,各个系统、各个地区、甚至于每个医院都有自己独立的一套管理办法,在具体的实施过程中,又经常变动。即使在一个医院中,标准也很难做到统一,造成了许多管理上的矛盾。由此可见,采用一套先进、科学的折旧核算方法,对推动各级医院的建设和发展,具有相当重要的意义。 Excel是财务管理中的一种软件,因其提供给用户的函数及VBA程序设计功能而受到用户的好评。本文作者将利用Excel实现固定资产折旧的几种方法进行了总结,希望能对各位同行有点帮助。 2 双倍余额递减法实现固定资产折旧计算 双倍余额递减法是指在不考虑固定资产预计净残值的情况下,根据每期的期初固
3、定资产原值减去累计折旧后的金额和双倍的直线法折旧率计算固定资产折旧的一种方法。固定资产通常按月计提折旧。在实际工作中,采用双倍余额递减法计算折旧时,为了简化计算,通常按年计算折旧额,然后根据年折旧额除以12计算月折旧额,最后两年改用直线法[1]。 应用双倍余额递减法时,应采用下列公式计算: 年折旧率=2÷预计使用寿命(年)×100% 月折旧率=年折旧率÷12 月折旧额=每月月初固定资产账面净值×月折旧率 在固定资产使用后期应进行判断,如果采用直线法计算的折旧额大于该期继续使用双倍余额递减法计算的折旧额时,则应改用直线法计提折旧[2]。 3
4、用Excel实现双倍余额递减法折旧的几种方法 在实际工作中,对医院固定资产进行折旧计算时多采用这种方法计提。例如,医院一项固定资产原价为100万元,预计使用6年,预计净残值为5万元,按双倍余额递减法计提折旧。 3.1使用Excel公式手动建立双倍余额递减法计算的计算模型 使用Excel建立双倍余额递减法计算的计算模型,具体步骤如下: (1)在Excel中建立一个工作簿,命名为“双倍余额递减法计算固定资产折旧额模型”。 (2)建立如图1所示的“双倍余额递减法计算固定资产折旧额模型”框架。 图1 双倍余额递减法计算固定资产折旧额模型 (3)
5、输入有关折旧计算公式,具体公式输入方法如下: ①在C3单元格中输入公式“=2/B3”,计算出月折旧率; ②在B6单元格中输入公式“=A3”,在C6单元格中输入公式“=B6×C3”,在D6单元格中输入公式“=C6”,分别计算出固定资产使用第一个月月初折余价值、应计提的月折旧额和累计折旧额; ③在B7单元格中输入公式“=$B$6-D6”,在C7单元格中输入公式“=IF(B7×$C$3<($A$3-$D$3-D6)/$B$3-A6,($A$3-$D$3-D6)/($B$3-A6),B7×$C$3)”,在D7单元格中输入公式“=D6+C7”,分别计算出固定资产使用第二个月
6、月初折余价值、应计提的折旧额和累计折旧额。 (4)采用公式复制的方法(可采用鼠标拖动B6右下角的黑十字的方法)将B6中的公式复制到“B8:B78”,用同样的方法将C7中的公式复制到“C8:C77”,将D7中的公式复制到“D8:D77”(如果使用寿命更长,可继续向下拖动到合适的位置),这样就可以计算出各月月初折余价值、月折旧额和累计折旧额,由此可以得到一个双倍余额递减法计算固定资产折旧额的模型。 3.2 利用Excel中函数进行计算 在EXCEL中,有两个函数可以用于双倍余额递减法的折旧计算,DDB()和VDB(),DDB()函数称为双倍余额递减函数,而VDB()函数称为倍
7、率余额递减函数。 DDB()函数需要在当双倍余额递减法计算出的折旧额小于按直线法计算额时,用手工转换成直线法;而VDB()函数不仅可以计算出双倍余额递减法应提的折旧额,而且可以进行直线法的自动转换,在本模型中,采用VDB()函数。 VDB()函数的形式是:VDB(cost,salvage,life,start_period,end_period,factor,no_switch) Cost为资产原始价值; Salvage为预计净残值; Life为预计使用年限; Start_period为进行折旧计算的起始期间,Start_period
8、必须与life的单位相同;End_period为进行折旧计算的截止期间,End_period必须与life的单位相同; Factor为余额递减速率(折旧因子),如果省略参数factor,则函数假设factor为2(双倍余额递减法)。如果不想使用双倍余额递减法,可改变参数factor的值。 No_switch为一逻辑值,指定当折旧值大于余额递减计算值时,是否转用直线折旧法。 如果no_switch为TRUE,即使折旧值大于余额递减计算值,Microsoft Excel也不转用直线折旧法。 如果no_switch为FALSE或被忽略,且折旧值大于余额递减计算
9、值时,Excel将转用直线法提取折旧; 除no_switch外的所有参数必须为正数。 针对前面的例子,双倍余额递减法采用EDB函数计算第三年应提的折旧额,公式为: VDB()函数的形式是:VDB(1000000,50000,6,2,3),Start_period为2, End_period为3,factor及no_switch均省略。 3.3 利用“宏”在EXCEL中建立一个固定资产折旧计算模型 3.3.1 模型的建立 (1)打开一个工作薄文件,在工作表SHEET1中建立表头及基础数据区域。 (2)建立数据区。由于各种固定资产
10、的使用年限是不一样的,我们无法建立一个固定的数据区域,只能先建立一个只有二行的数据区,并仅设定两行的公式,后面将利用VBA自动根据固定资产的使用年限调整数据区。为了使公式能正确计算,先在原始数据区域中输入模拟数据。 (3)设定宏。右键单击工具栏,选择“窗体”,单击命令按钮,然后在工作表相应位置拉出一命令按钮,在指定宏的窗口中将宏名改为“重新计算”并选择“录制”,在录制新宏窗口中选择“确定”,什么都不用做,按停止键,在按钮上按右键,选“文字编辑”,将按钮上的文字改为“重新计算”。用同样方法建立按钮,把按钮上的文字改为“清除数据”。 (4)编制宏所对应的代码。当固定资产的使用年
11、限发生变化时,模型必须能自动增加相应年份的单元格,并将公式进行延伸,最后还要算出合计数。模型中用VBA来解决这个问题。 VBA(Visual Basic for Applications),指VB在OFFICE中的应用,需要编写VB的代码,右击工作表上刚建立的按钮,选择“指定宏”,再选“编辑”进入Visual Basic代码的编辑窗口,在“Sub重新计算()”“和End Sub”之间输入以下代码(代码输入过程中的所有符号均应在英文半角状态下输入,&&及&&后的文字是每条语句的注释,不用输入): life“=A7:A”+Trim(Str((Va(lRange“(C4”).Va
12、lue)+6)))&&根据C4中的使用年限确定年份区域的大小,并把区域定义为变量life; life1“=B7:B”+Trim(St(r(Va(lRange“(C4”).Value)+6)))&&确定直线法的区域,并定义为变量life1; life2“=C7:C”+Trim(St(r(Va(lRange“(C4”).Value)+6)))&&确定年数总和法的区域,并定义为变量life2; life3“=D7:D”+Trim(St(r(Va(lRange“(C4”).Value)+6)))&&确定双倍余额递减法的区域,并定义为变量life3; Range“
13、A7:A8”).Select&&选择区域A7:A8; Selection.AutoFill Destination:=Range(life),Type:=xlFillDefault&&对变量life中的区域进行年份的自动填充; Range“(B7:B8”).Select Selection.AutoFill Destination:=Range(life1),Type: =xlFillDefault&&对变量life1中的区域进行直线法公式的自动填充; Range“(C7:C8”).Select Selection.AutoFill
14、 Destination:=Range(life2), Type:=xlFillDefault Range“(D7:D8”).Select Selection.AutoFill Destination:=Range(life3),Type:=xlFillDefault total“=A”+Trim(Str((Va(lRange“(C4”).Value)+7)))&&定义“合计”二字的位置,存入total变量; total1“=B”+Trim(Str((Va(lRange“(C4”).Value)+7)))&&定义直线法合计数所存放的位置;
15、 total2“=C”+Trim(Str((Va(lRange“(C4”).Value)+7)))&&定义年数总和法合计数所存放的位置; total3“=D”+Trim(Str((Va(lRange“(C4”).Value)+7)))&&定义双倍余额递减法合计数所存放的位置; total4“==Sum(R[-”+Trim(Str(Va(lRange“(C4”).Value))) +“(C:R[-1]C)”&&求出合计数; Range(total).Select&&自动选择total变量中所指定的单元格; ActiveCell.FormulaR1C1=
16、合计”&&填入“合计”二字; Range(total1).Select ActiveCell.FormulaR1C1=total4&&填入提取折旧的合计数; Range(total2).Select ActiveCell.FormulaR1C1=total4 Range(total3).Select ActiveCell.FormulaR1C1=total4 “在Sub清除数据()”“和End Sub”之间输入以下代码: clearvar=“A9:D”+Trim(Str((Val(Range“(C4”).Valu
17、e)+7)))&&定义欲清除的区域; Range(clearvar).Select&&选择欲清除的区域; Selection.ClearContents&&清除Range“(A1”).Select 在声明段输入下列代码: Private life,life1,life2,life3,total,total1,total2,total3,total4,clearvar As Variant。 关闭Visual Basic窗口,此时,模型已经建立成功。如果需要,还可以在代码中加入一些美化界面的语句,如加上边框、加上背景色等,可通过录制宏的方法观察代码的写法,然后再加入重新计算的代码中去,完成所需要的工作。 4 结束语 本文对Excel在医院固定资产折旧的应用方法进行了总结,希望对读者有所帮助。 参考文献 [1] 陈岳祥,王惠.在医疗设备折旧费计算中的应用.医疗卫生装备.2003,4:38-39 [2]财政部会计资格评价中心.初级会计实务.中国财政经济出版社 收稿日期:12月10日 修改日期:12月23日 作者简介:王云峰(1976-),男,硕士研究生、会计师,研究方向:电算会计、固定资产管理。






