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 式會使用下列公式來計算指定期間的折舊:

折舊 / 期間 = ( (成本 - Salvage) * Factor) / Life

適用於

另請參閱