VBAで会計や資産管理を扱っていると、次のようなことはありませんか?
- 減価償却費を自動計算したい
- 定率法で資産の価値を計算したい
- Excelの関数をVBAでも使いたい
このような場合は、DDB関数(Double Declining Balance)を使うことで解決できます。
定率法(加速度償却)による減価償却費を簡単に計算できる関数です。
この記事では、DDB関数の基本から実務で使える応用までを初心者向けに分かりやすく解説します。
この記事でできること
- 減価償却費を自動計算できる
- 定率法の仕組みが分かる
- VBAでの具体的な使い方が分かる
DDB関数とは?
DDB関数は、定率法(加速度償却)で減価償却費を計算する関数です。
特徴:
- 初年度の償却費が大きい
- 年々償却費が小さくなる
基本構文
DDB(取得価額, 残存価額, 耐用年数, 期数, [率])
- 取得価額 → 資産の購入金額
- 残存価額 → 最終的に残る価値
- 耐用年数 → 使用年数
- 期数 → 何年目か
- 率 → 任意(通常は省略でOK)
基本:減価償却費を計算する
例:取得価額100万円、残存価額0円、耐用年数5年、1年目
Option Explicit
Sub DDB_Basic()
Dim result As Double
result = DDB(1000000, 0, 5, 1)
MsgBox result
End Sub
→ 初年度の減価償却費が計算されます。
各年の償却費を一覧で計算する
Option Explicit
Sub DDB_Loop()
Dim i As Long
For i = 1 To 5
Cells(i, 1).Value = i & "年目"
Cells(i, 2).Value = DDB(1000000, 0, 5, i)
Next i
End Sub
これで各年度の償却費を一覧で表示できます。
率(factor)を指定する
通常は2(倍額法)ですが、変更も可能です。
DDB(1000000, 0, 5, 1, 1.5)
償却スピードを調整できます。
実務での活用例
- 固定資産管理システム
- 減価償却一覧の作成
- 会計資料の自動作成
- 資産価値のシミュレーション
会計・経理業務でよく使われる関数です。
DDBとSLNの違い
| 関数 | 特徴 |
|---|---|
| DDB | 初年度が大きい(定率法) |
| SLN | 毎年同じ(定額法) |
用途に応じて使い分けが必要です。
注意点
① 会計ルールに依存する
実際の業務では、会社の会計ルールに従う必要があります。
② 結果はDouble型
小数が出るため、必要に応じて丸め処理を行います。
Round(DDB(1000000, 0, 5, 1), 0)
よくあるエラーと対処法
① 計算結果がおかしい
引数の順番を確認してください。
② 型が一致しません
数値を正しく入力しているか確認してください。
③ コードは正しいのにエラーになる
コピー時に全角文字や特殊文字が混ざることがあります。
その場合は該当行を手入力し直すと解決することがあります。
まとめ
- DDBは定率法の減価償却を計算する関数
- 初年度の償却費が大きいのが特徴
- ループと組み合わせると実務で便利
- SLNとの違いを理解して使い分ける
DDB関数を使いこなせるようになると、会計処理や資産管理の自動化が可能になります。
専門的な分野ですが、VBAでの業務効率化に大きく役立つので、ぜひ活用してみてください。


コメント