倍額定率法または指定したその他の手法を使用して、指定した期間における資産の減価償却費を示す倍精度浮動小数点型を返します。
構文
DDB(cost, salvage, life, period* [, factor] )
DDB 関数の構文には、次の引数があります。
| 引数 | 説明 |
|---|---|
| コスト | 必須です。 資産の初期コストを示す倍精度浮動小数点型。 |
| salvage | 必須です。 耐用年数が終了した時点での資産の価格を示す倍精度浮動小数点型。 |
| life | 必須です。 資産の耐用年数の長さを示す倍精度浮動小数点型。 |
| period | 必須です。 資産の減価償却の計算期間を示す倍精度浮動小数点型。 |
| factor | 省略可能。 減価償却率を示すバリアント型です。 省略すると、2 (倍額定率法) と見なされます。 |
解説
倍額定率 (DDB) 法では、逓減率を使用して減価償却費が計算されます。 減価償却費は第 1 期が最も高くなり、期間が進むにつれて減っていきます。
有効期間と期間の引数は、同じ単位で表す必要があります。 たとえば、 生命 が月単位で与えられる場合、 期間 も月単位で指定する必要があります。 引数はすべて、正の数にする必要があります。
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) & "."