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

Optional. 餘額下降的速度。 若省略,則假設有2 (雙重遞減方法) 。

傳回

資產在特定期間內使用雙倍餘額遞減法或其他方法折舊。

例外狀況

Factor <= 0、Salvage0、= 0,Period<或 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 函數使用以下公式計算給定期間的折舊:

折舊 / 期間 = (成本 - 殘值)* 是數)/ 壽命

適用於

另請參閱