Financial.DDB(Double, Double, Double, Double, Double) 方法

定义

返回一个值,它使用双倍余额递减法或指定的其他方法来指定特定时间周期内的资产折旧。

public static double DDB (double Cost, double Salvage, double Life, double Period, double Factor = 2);
static member DDB : double * double * double * double * double -> double
Public Function DDB (Cost As Double, Salvage As Double, Life As Double, Period As Double, Optional Factor As Double = 2) As Double

参数

Cost
Double

必需。 资产的原始成本。

Salvage
Double

必需。 资产在使用年限结束时的价值。

Life
Double

必需。 资产的使用年限。

Period
Double

必需。 计算资产折旧所用的周期。

Factor
Double

可选。 余额递减的速率。 如果省略,则假定为 2(双倍余额递减法)。

返回

使用双倍余额递减法或指定的其他方法的特定时间周期内的资产折旧。

例外

Factor<= 0、 Salvage< 0、<Period= 0 或 Period>Life

示例

此示例使用 DDB 函数返回给定初始成本 () InitCost 、资产使用年限结束时的残值 (SalvageVal) 、资产的总寿命(以年为单位 (LifeTime) )以及计算 Depr 折旧 () 的年份(以年为单位)的折旧值。

Dim InitCost, SalvageVal, LifeTime, DepYear As Double
Dim Fmt As String = "###,##0.00"

InitCost = CDbl(InputBox("What's the initial cost of the asset?"))
SalvageVal = CDbl(InputBox("Enter the asset's value at end of its life."))
LifeTime = CDbl(InputBox("What's the asset's useful life in years?"))

' Use the SLN function to calculate the deprecation per year.
Dim SlnDepr As Double = SLN(InitCost, SalvageVal, LifeTime)
Dim msg As String = "The depreciation per year: " & Format(SlnDepr, Fmt)
msg &= vbCrLf & "Year" & vbTab & "Linear" & vbTab & "Doubling" & vbCrLf

' Use the SYD and DDB functions to calculate the deprecation for each year.
For DepYear = 1 To LifeTime
    msg &= DepYear & vbTab & 
        Format(SYD(InitCost, SalvageVal, LifeTime, DepYear), Fmt) & vbTab & 
        Format(DDB(InitCost, SalvageVal, LifeTime, DepYear), Fmt) & vbCrLf
Next
MsgBox(msg)

注解

双倍余额递减法以加速比率计算折旧。 折旧在首个期间内最高,在随后的期间内降低。

LifePeriod 参数必须以相同的单位表示。 例如,如果 Life 以月为单位提供 , Period 则还必须以月为单位提供 。 所有参数必须为正数。

函数 DDB 使用以下公式来计算给定周期的折旧:

折旧/期间 = ( (成本 - 挽救) * 因子) /寿命

适用于

另请参阅