回傳一個雙重折舊,指定資產在特定期間內的折舊,使用雙重遞減餘額法或其他方法。
語法
DDB (成本、殘骸、壽命、期間* [, 因子] )
DDB 函式語法有以下參數:
| 引數 | 描述 |
|---|---|
| 成本 | 必要。 雙重 指定資產的初始成本。 |
| 打撈 | 必要。 雙重 指定資產在其使用壽命結束時的價值。 |
| 生平 | 必要。 雙重 指定資產的使用壽命長度。 |
| 就這樣 | 必要。 雙重 指定計算資產折舊的期間。 |
| 因子 | 可省略。 變體指的是餘額下降的速率。 若省略,則假設有2 (雙重遞減方法) 。 |
註解
倍率遞減法使用加速比率計算折舊。 折舊數額在首期最高,然後在後繼期間依次遞減。
生命與時代論證必須以相同的單位表達。 例如,如果 生命 以月份計算, 那麼週期 也必須以月份計算。 所有參數必須為正數。
DDB 函數使用以下公式計算特定期間的折舊:
折舊 / 期間 = ( (成本 – 殘) * ) /壽命
範例
注意
下列範例示範如何在 Visual Basic for Applications (VBA) 模組中使用此函數。 如需使用 VBA 的詳細資訊,請在 [搜尋] 旁的下拉式清單中選取 [開發人員參考],並在 [搜尋] 方塊中輸入一個或多個字詞。
此範例使用 DDB 函數,根據初始成本 () InitCost 、資產有效期結束時的殘值) 、資產 () SalvageVal 年計的總 (LifeTime 年,以及) 年 (Depr 計算折舊的年度,回傳特定期間內的折舊結果。
Dim Fmt, InitCost, SalvageVal, MonthLife, LifeTime, DepYear, Depr
Const YRMOS = 12 ' Number of months in a year.
Fmt = "###,##0.00"
InitCost = InputBox("What's the initial cost of the asset?")
SalvageVal = InputBox("Enter the asset's value at end of its life.")
MonthLife = InputBox("What's the asset's useful life in months?")
Do While MonthLife < YRMOS ' Ensure period is >= 1 year.
MsgBox "Asset life must be a year or more."
MonthLife = InputBox("What's the asset's useful life in months?")
Loop
LifeTime = MonthLife / YRMOS ' Convert months to years.
If LifeTime <> Int(MonthLife / YRMOS) Then
LifeTime = Int(LifeTime + 1) ' Round up to nearest year.
End If
DepYear = CInt(InputBox("Enter year for depreciation calculation."))
Do While DepYear < 1 Or DepYear > LifeTime
MsgBox "You must enter at least 1 but not more than " & LifeTime
DepYear = InputBox("Enter year for depreciation calculation.")
Loop
Depr = DDB(InitCost, SalvageVal, LifeTime, DepYear)
MsgBox "The depreciation for year " & DepYear & " is " & _
Format(Depr, Fmt) & "."