DDB()函数与双倍余额递减法.doc_第1页
DDB()函数与双倍余额递减法.doc_第2页
DDB()函数与双倍余额递减法.doc_第3页
DDB()函数与双倍余额递减法.doc_第4页
DDB()函数与双倍余额递减法.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【转】DDB()函数与双倍余额递减法2008-10-05 16:58问题的发现例 假定某企业某项固定资产的原值为400,000元,预计使用年限为5年,预计净残值率为4%,使用双倍余额递减法计算每年的折旧费用。解:利用中文Excel 97/2000 中的内置财务函数DDB(Cost,Salvage,Life,Period,Factor) 求解。1. 对DDB()函数作解释。Cost 为固定资产的原值Salvage 为预计净残值(=预计残值-预计清理费用)。系统默认值为0,即净残值为0Life 为预计使用年限Period 为第某年Factor 为余额递减倍数。系统默认值为2,即双倍余额递减。若其值为3时,就是三 倍余额递减2. 使用函数在上例中,可知:Cost=400000,Salvage=400000*40%,Life=5,Factor=2 (取默认值),为了一次计算出五年的折旧费用,使Period=A1(A1 单元格有数值1)在单元格B2中输入:=DDB(400000,400000*4%,5,a2) ,并用公式填空的方法计算出15年的折旧费用3. 发现问题由于我们第一次使用该函数,为保险起见,我们做个试验检验“累计折旧额=应计折旧总额”是否成立。在单元格B7中求出“累计折旧总额”:=SUM(B2:B6);在单元格B8 中求出“应计折旧总额”:=400000-400000*4%。我们发现:累计折旧额 (368896) 应计折旧总额 (384000) ,有15104的差额,如图: A B1 第某年 DDB函数下的年折旧额(万元)2 1 ¥160,000.003 2 ¥96,000.004 3 ¥57,600.005 4 ¥34,560.006 5 ¥20,736.007 累计折旧总额 ¥368,896.008 应计折旧额 ¥384,000.009 差额 ¥15,104.00问题的分析其实这个问题并不是 源于 Excel 的,这是涉到会计领域的一个重要问题。1. 递减折旧 递减折旧是指固定资产使用年限内折旧费用逐渐递减的方法,双倍余额递减法是递减折旧的主要的一种方法,广泛用于会计实务中。A.递减折旧的理论依据 一般固定资产的服务贡献能力总是逐年递减的操作效能或性能的递减会导致其他操作成本(如修理维护费用)的增加以剩余服务价值的现值来表示的资产价值在前期降低较多,在后期则降低较少因存在着资产陈旧的可能性,使得以后期间的收入具有不确定性相对于直线法,使用前期可以少缴纳所得税,相当于从国家处取得无息贷款相对于直线法,使用前期可以收回较多的投资,有利于归避资产的无形损耗B.双倍余额递减法的理论操作方法 为了在固定资产使用的前期多计一些折旧费用,后期少计一些折旧费用,使折旧费用逐年递减,采用 2/预计使用年限 作为折旧率。 具体为:第某年折旧费用=该年固定资产年初价值*折旧率(不考虑净残值)。从数字上看,该法的确完成了“前期多计一些费用,后期少计一些费用及折旧费用逐年递减”的要求,但该法天生的缺陷是无法在规定的年限计完所有的应计的折旧金额,这一点从数学上是可以论证的(这里从略)。不能在规定的年限计完所有的应计的折旧金额,该费用化的资本不能费用,进入企业损益的计算,这在会计上是讲不通的,违背了固定值产折旧原则和基本要求。2. 双倍余额递减法天然缺陷的弥补方案 双倍余额递减法虽然存在这样的问题,但它确实是很好的递减折旧方案,除了使用年限总和法外,还没有更理想(从目的和繁简度角度)的递减折旧方案。为了保全双倍余额递减法,会计上产生了若干弥补的方案。 方案一:把预计使用年限中不能计提完毕的那一部分差额全都计在最后一年的折旧费用之中 ; 方案二:把预计使用年限中不能计提完毕的那一部分差额平均分配计入各年折旧费用之中; 方案三: 使用双倍余额递减法计算折旧费用时,在预计使用年限中的最后两年,改用直线法计算折旧费用,即:最后两年的折旧费用=(最后第二年年初固定资产价值-预计净残值)/2。许多国家的会计制度都采用了这种方案。 方案四:在计算每年折旧费用之前,先比较采用直线法和双倍余额递减法计算的该年的折旧费用的高低。若直线法下的折旧费用低于双倍余额递减法计算的折旧费用,则仍使用双倍余额递减法计算折旧费用;若直线法下计算的折旧费用大于双倍余额递减法下的计算结果,则该年及以后各年都采用直线法计算每年的折旧费用。 A B C D E F1 第某年 方案一 方案二 方案三 方案四 直线法2 1 10000.00 10536.87 10000.00 10000.00 5000.00 3 2 8000.00 8536.87 8000.00 8000.00 5000.00 4 3 6400.00 6936.87 6400.00 6400.00 5000.00 5 4 5120.00 5656.87 5120.00 5120.00 5000.00 6 5 4096.00 4632.87 4096.00 3413.33 5000.00 7 6 3276.80 3813.67 3276.80 3413.33 5000.00 8 7 2621.44 3158.31 2621.44 3413.33 5000.00 9 8 2097.15 2634.02 2097.15 3413.33 5000.00 10 9 1677.72 2214.59 4194.31 3413.33 5000.00 11 10 6710.89 1879.06 4194.30 3413.35 5000.00 12 累计折旧 50000.00 50000.00 50000.00 50000.00 50000.00 例某项固定资产的原始价值为50000元,预计使用年限是10年,采用以上四种方案计算1-10年的折旧费用。解:解题的过程我已在上表中列示。分析:在我们分析问题之前,先让我们把递减折旧法的概念及理论依据复习一下。 从上表中不难发现方案一、方案三中的某些年的折旧费用大于它们各自前些年的折旧费用,方案一、方案三都存在后期折旧费用“翘尾巴”的图像。 折旧费用应该逐年递减是递减折旧法的基本特征,也是递减折旧法立论的基础。固定资产的服务水平随着使用年数的增长而不断降低,它为企业提供的贡献也相应降低, 从收入与费用的配比角度看,计入损益的折旧费用也应逐年递减。方案二较好的解决了双倍余额递减法的问题,我个人认为这是四个方案中最好的一个。虽然,有人讲它采用平均分摊差额不合配比原则。但我认为,从重要性的角度看,平均摊入的费用其金额占每年应计折旧费用的比重并不大,且摊入后仍使每年的折旧费用平滑递减(从上图可知);再者所有的折旧方法都带有假设性质,只要能自圆其说就行。方案四也较好的解决了双倍余额递减法的问题,为了说明的方便,在列 F 中使了用直线法。当计算折旧费用时,我们发现传统双倍余额递减法下第五年的折旧费用=4096.00直线法下的折旧费用=5000.00,于是从第五年开始改用直线法计算折旧费用,避免了折旧费用“翘尾巴”的局面,但在本例中竟然有6各个年头在使用直线法计算折旧费用,这还能叫“双倍余额递减法”吗?由于财务会计要受会计准则及会计制度的约束,我国既然规定采用方案三,我们在平时的会计核算时就应该无条件使用这种方案。我们也应注意到,并不是所有采用双倍余额递减法加最后两年改用直线法的案例都会出现折旧费用“翘尾巴”的现象,大多数情况下使用双倍余额递减法加最后两年改用直线法计算出的折旧费用是正常的。经验告诉我们,当预计使用年限较长、固定资产价值较小时会出现这种折旧费用“翘尾巴”的现象。然而,凡采用双倍余额递减法计算固定资产的折旧费用的企业或部门,一般都使用处于技术进步较快、无形损耗较大的领域,其资产的价值一般较大、使用年限一般较短。3. DDB()函数不能正确求解的原因DDB()函数在固定资产的使用年限中一律使用2/预计使用年限 作为折旧率,而没有考虑我们在上文论及的问题。DDB()函数不能正确求解,可能是微软公司的专家对会计学不太精通,只知其一,不知其二;也可能是对于双倍余额递减法存在问题的解决方案拿捏不定,于是 Excel 为大家留下了各自的思考空间。我更赞同后一种解释。问题的解决这儿我们只对双倍余额递减法加最后两年改用直线法进行处理。1. 思路无论何种原因造成DDB()函数不能正常服务,我们只有两种选择,其一是不用DDB()函数,其二是设法解决问题。我们不做“孱头”。即然是函数出了问题,那么我们就从函数入手自定义一个函数。DDB() 函数在计算除最后两年折旧外的其他年份中,其计算值是正确的,因此,在计算第一年至(预计使用年限-3)时, DDB() 函数是可以被我们利用的。2. 在Excel 97自定义函数:双倍余额递减法(Cost,Life,Period,Salvage,Fy)双倍余额递减法 为函数名Cost 为固定资产的原值Life 为预计使用年限Period 为第某年Salvage 为预计残值。系统默认值为0,即残值为0Fy 为预计清理费用。系统默认值为0,即清理费用为03. 双倍余额递减法()函数的功能按我国对双倍余额递减法的有关解释,编制能正确计算每年折旧费用的自定义函数每年折旧费用保留两位小数,并在最后一年调整尾差。4. 双倍余额递减法()函数的源代码Function 双倍余额递减法(ByVal Cost As Double, ByVal Life As Integer, ByVal Period As Integer,_ Optional Salvage As Double = 0, Optional Fy As Double = 0) As DoubleDim zmcost As Double, bqdb As Double, sumdb As Double, x As Double, y As DoubleDim life1 As Integer, n As Integersumdb = 0life1 = Life - 2If (Period life1 And Period = Life) ThenFor n = 1 To life1 Step 1bqdb = Application.Round(Application.DDB(Cost, , Life, n), 2)sumdb = sumdb + bqdbNext nzmcost = Cost - sumdbbqdb = Application.Round(zmcost - Salvage + Fy) / 2, 2)If Period = Life And (bqdb * 2 + sumdb) (Cost - Salvage + Fy) Then双倍余额递减法 = Cost - Salvage + Fy - sumdb - bqdbElse双倍余额递减法 = bqdbEnd IfEnd IfEnd Function5.对源代码的分析代码是以Visual Basic语言编写

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论