DDB関数

DDB関数は、VBA関数の中で財務関数に分類される関数です。

目次

スポンサー リンク

DDB関数とは

DDB関数は、倍精度浮動小数点数型 (Double) の値を返します。倍率法などの指定した方法を使って特定の期における資産の減価償却費を返します。

構文DDB(cost, salvage, life, period[, factor])
引数省略説明
cost ×資産を購入した時点での価格を示す倍精度浮動小数点数型 (Double) の値を指定します。
salvage ×耐用年数が終了した時点での資産の価格を示す倍精度浮動小数点数型 (Double) の値を指定します。
life ×資産の耐用年数を示す倍精度浮動小数点数型 (Double) の値を指定します。
period ×減価償却費を求める期を示す倍精度浮動小数点数型 (Double) の値を指定します。
factor 減価償却率を示すバリアント型 (Variant) の値を指定します。名前付き引数 factor を省略すると、2 が指定されたものとみなされ、倍率逓減法で計算されます。

倍率法では、指定した償却率で減価償却費が計算されます。減価償却費は最初の期が最も高く、その後の期では減少していきます。
名前付き引数 life および period は、同じ単位で指定する必要があります。たとえば、名前付き引数 life を月単位で指定した場合は、名前付き引数 period も月単位で指定します。すべての引数には必ず正の値を指定してください。
DDB 関数を使って指定した期に対する減価償却費を求めるには、次の式を使います。
指定した期 (period) の減価償却費 = ((cost - salvage) * factor) / life

DDB関数のサンプルコード

次の例は、DDB 関数を使って、指定した期の資産の減価償却費を返します。資産購入時点の価格 (InitCost)、資産の耐用年数を経た後での残存価額 (SalvageVal)、資産の耐用年数 (LifeTime)、減価償却費を計算する年 (Depr) を指定します。


Sub sample()

Dim Fmt, InitCost, SalvageVal, MonthLife, LifeTime, DepYear, Depr
Const YRMOS = 12                    ' 1 年の月数を設定します。
Fmt = "###,##0.00"
InitCost = InputBox("資産購入時の価格を入力してください。")
SalvageVal = InputBox("耐用年数を経た後での資産の価格を入力してください。")
MonthLife = InputBox("資産の耐用期間を月数で入力してください。")
Do While MonthLife < YRMOS        ' 期間が 1 年以上かどうかを確認します。
    MsgBox "耐用期間は 1 年以上です。"
    MonthLife = InputBox("資産の耐用期間を月数で入力してください。")
Loop
LifeTime = MonthLife / YRMOS        ' 月数を年数に変換します。
If LifeTime <> Int(MonthLife / YRMOS) Then
    LifeTime = Int(LifeTime + 1)        ' 近似の年に切り上げます。
End If 
DepYear = CInt(InputBox("減価償却費を計算する年を入力してください。"))
Do While DepYear < 1 Or DepYear > LifeTime
    MsgBox "1 から" & LifeTime &"の範囲の数値を入力してください。"
    DepYear = InputBox("減価償却費を計算する年を入力してください。")
Loop
Depr = DDB(InitCost, SalvageVal, LifeTime, DepYear)
MsgBox DepYear & " 年目の減価償却費は " & Format(Depr, Fmt) & " です。"


End Sub

※ドラッグ(スワイプ)すると全体を確認できます。

実行結果

解説

財務関数一覧

関数名内容
DDB倍率法による指定した期間の資産原価償却額を算出します。
FV定額定利の定期支払いでの投資の将来価値を算出します。
IPmt定額定利の定期支払いで投資期間内の指定した期における金利を算出します。
IRR指定したキャッシュフローに対する内部利率を算出します。
MIRR指定したキャッシュフローに対する修正内部利率を算出します。
NPer定額定利の定期支払いで総額の支払いに必要な支払回数を算出します。
NPV投資の正味現在価値を算出します。
Pmt定額定利の定期支払いでの投資の将来価値を算出します。投資に必要な定期支払額を算出します。
PPmt定額定利の定期支払いでの特定の期間における元金を算出します。
PV定額定利の定期支払いでの投資の現在価値を算出します。
Rate定額定利の定期支払いで将来価値を得るための利率を算出します。
SLN定額法での減価償却費を算出します。
SYD定額逓減法で指定した期の減価償却費を算出します。
ExcelのVBAについてのQ&A掲示板

↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください。

VBAのIE操作入門

↑ExcelのVBAをマスターできたら、エクセルVBAのIE操作にも挑戦してみてください。

目次

VBAのステートメント

こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのオブジェクト

こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのプロパティ

こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのメソッド

こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのイベント

こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。