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