「定率法の減価償却費を、毎期Excelで手計算している」。そんな経理担当者は意外と多いはずです。資産が増えるほど計算は大変になります。ちょっとしたミスが税務書類に影響するリスクもありますよね。
ExcelのDB関数を使えば、定率法の減価償却費をセル1つで自動計算できます。この記事では、DB関数の使い方を構文・引数・実践例をもとに解説します。年次推移表の作り方、旧定率法と新定率法の違いもあわせて紹介しますよ。
DB関数とは?Excelで定率法の減価償却費を求める財務関数
DB関数は、定率法(ていりつほう)で1期あたりの減価償却費を求めるExcelの財務関数です。定率法とは、帳簿価額に一定の償却率(毎期かける比率)をかけて償却する方法を指します。初年度が最も大きく、年を追うごとに償却費が小さくなるのが特徴です。
対応バージョンはExcel 2003以降・Microsoft 365です。Googleスプレッドシートでも同じ構文で使えますよ。
DB関数の読み方と名前の由来
読み方は「ディービー」です。英語の「Declining Balance(逓減残高)」の頭文字が由来になっています。帳簿価額が逓減(徐々に減少)していく計算方法を表した名前です。
定率法(旧定率法)とは
定率法は、資産の帳簿価額に一定の償却率をかけて減価償却費を求める方法です。計算式はこのようになります。
減価償却費 = (取得価額 - 前期までの償却累計額) × 償却率
「取得価額(しゅとくかがく)」は資産を買ったときの価格です。「耐用年数(たいようねんすう)」は資産を使える期間の目安を指します。「残存価額(ざんぞんかがく)」は耐用年数が終わったあとに残る資産の価値です。定率法では、これらの値から決まる償却率を毎期かけて償却費を出します。
DB関数が採用しているのは、具体的には「旧定率法(きゅうていりつほう)」と呼ばれる計算ルールです。平成19年(2007年)3月31日以前に取得した資産に適用されていた方式を指します。残存価額を取得価額の10%として償却するのが基本的な考え方です。
旧定率法・新定率法の違いと注意点【2007年4月以降取得の資産に要注意】
平成19年(2007年)の税制改正で、減価償却制度は大きく変わりました。取得時期ごとに3種類の定率法が混在しています。
| 名称 | 適用対象 | 残存価額 | 償却率 |
|---|---|---|---|
| 旧定率法 | 平成19年3月31日以前取得 | 取得価額の10% | 固定償却率 |
| 250%定率法 | 平成19年4月1日〜平成24年3月31日取得 | 廃止(備忘価額1円まで) | 定額法償却率×2.5 |
| 200%定率法(現行) | 平成24年4月1日以降取得 | 廃止(備忘価額1円まで) | 定額法償却率×2 |
新定率法(しんていりつほう)は、平成19年4月1日以降取得の資産に適用される定率法の総称です。250%定率法と200%定率法の2種類があります。
ここで要注意なのが、DB関数が対応しているのは旧定率法のみという点です。2007年4月1日以降に取得した資産にDB関数を使っても、税務上正しい償却費にはなりません。
新定率法には「保証率」と「改定償却率」という特殊な仕組みがあります。償却額が一定水準を下回ったら、均等償却に切り替える仕掛けです。DB関数には切替の仕組みがなく、新定率法の再現ができないのです。
新定率法で計算したい場合は、国税庁の償却率表を参照して手計算する方法が確実です。会計ソフトを使うのも有力な選択肢になります。DB関数は、過去に旧定率法で取得した資産の継続計算に活用しましょう。
DB関数の構文と引数の意味
基本構文
=DB(取得価額, 残存価額, 耐用年数, 期間, [月])
引数は最大5つです。最後の「月」は省略できます。
各引数(取得価額・残存価額・耐用年数・期間)の解説
引数を表にまとめました。
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| 取得価額(cost) | 必須 | 資産の購入金額を指定する |
| 残存価額(salvage) | 必須 | 耐用年数終了時の資産価値を指定する |
| 耐用年数(life) | 必須 | 資産を償却する総年数を指定する |
| 期間(period) | 必須 | 償却費を計算したい年(1, 2, 3…)を指定する |
| 月(month) | 省略可 | 初年度に保有していた月数を指定する(省略時は12) |
SLN関数(定額法)との違いは、「期間」と「月」の2引数が加わっている点です。定率法は期ごとに償却額が変わります。何期目を計算したいのかを明示する必要があるためです。
DB関数の内部計算式は、Microsoft公式によると次のとおりです。
償却率 = 1 - ((残存価額 / 取得価額) ^ (1 / 耐用年数))
※小数点第3位で四捨五入
初年度 = 取得価額 × 償却率 × 月 / 12
通常期間 = (取得価額 - 前期までの償却累計額) × 償却率
最終期 = ((取得価額 - 前期までの償却累計額) × 償却率 × (12 − 月)) / 12
計算式は複雑に見えます。ただ、実際の利用時はセルに引数を入れるだけで自動処理してくれますよ。
第5引数「月」の実務的な使い方(年度途中取得の按分計算)
第5引数「月」は、初年度に資産を保有していた月数を指定する引数です。省略すると12(=年間フル保有)として扱われます。年度途中で取得した資産の按分計算に使います。
たとえば4月始まりの会計年度で、10月に資産を取得した場合を考えてみましょう。10月〜翌3月の6ヶ月分が初年度の保有期間です。この場合は月=6を指定します。
| 取得月(4月始まり会計年度) | 月引数の値 |
|---|---|
| 4月取得 | 12 |
| 7月取得 | 9 |
| 10月取得 | 6 |
| 1月取得 | 3 |
月引数を指定すると、初年度は「取得価額 × 償却率 × 月/12」で自動按分されます。最終期は残期間(12−月)/12で計算されます。按分処理をDB関数側に任せられる点が便利です。
DB関数の基本的な使い方(具体例)
期ごとの減価償却費を1セルで求める
実際にDB関数を使って減価償却費を計算してみましょう。条件は次のとおりです。
| セル | 内容 | 値 |
|---|---|---|
| B2 | 取得価額 | 1,000,000 |
| B3 | 残存価額 | 100,000 |
| B4 | 耐用年数 | 5 |
| B5 | 期間 | 1 |
1年目の償却費を求める場合はこのように書きます。
=DB(B2, B3, B4, B5)
結果は369,000円です。内部計算を確認してみましょう。
償却率 = 1 - (100000 / 1000000)^(1/5)
= 1 - 0.63096
= 0.36904 → 0.369(小数点第3位で四捨五入)
1年目 = 1,000,000 × 0.369 = 369,000
2年目以降を計算するときは、第4引数の「期間」を変えるだけです。
=DB(1000000, 100000, 5, 2) → 232,839(2年目)
=DB(1000000, 100000, 5, 3) → 146,921.409(3年目)
=DB(1000000, 100000, 5, 4) → 92,707.409(4年目)
=DB(1000000, 100000, 5, 5) → 58,498.375(5年目)
年を追うごとに償却費が小さくなる、定率法らしいカーブが描けていますね。
ROUNDDOWN処理で税務書類と端数を合わせる
DB関数は小数点以下を含む値を返す場合があります。税務書類(法人税申告書別表十六など)では、円未満を切り捨てて記載するのが一般的です。そこで実務ではROUNDDOWN関数と組み合わせて使います。
「ROUNDDOWN(ラウンドダウン)」は、指定した桁で数値を切り捨てる関数です。第2引数に0を指定すると、小数点以下をすべて切り捨てて整数にできます。
=ROUNDDOWN(DB(1000000, 100000, 5, 3), 0)
3年目の償却費146,921.409円を切り捨てて146,921円にそろえられます。帳簿と税務書類の整合性を取りやすくなりますよ。
年次推移表(減価償却スケジュール)の作り方
期首帳簿価額・償却費・期末帳簿価額を一覧で管理する
DB関数を1セルで使うのも便利です。ただ、実務では年度ごとの推移を表形式で管理するのが一般的です。取得価額100万円、残存価額10万円、耐用年数5年の例で推移表を作ってみましょう。償却費はROUNDDOWNで整数化した値を記載しています。
| 年度 | 期首帳簿価額 | 償却費 | 期末帳簿価額 |
|---|---|---|---|
| 1年目 | 1,000,000 | 369,000 | 631,000 |
| 2年目 | 631,000 | 232,839 | 398,161 |
| 3年目 | 398,161 | 146,921 | 251,240 |
| 4年目 | 251,240 | 92,707 | 158,533 |
| 5年目 | 158,533 | 58,498 | 100,035 |
5年目終了時の帳簿価額は100,035円になります。残存価額の100,000円とほぼ一致しますね。わずかな差は、償却率を小数点第3位で四捨五入したことによる誤差です。
コピペで使えるテンプレート
セルB2〜B4に条件を入力した状態で、次の式を使えば推移表が完成します。
A列: 年度(1, 2, 3, 4, 5)
B列: 期首帳簿価額
B9 = $B$2 … 取得価額
B10 = D9 … 前年の期末帳簿価額
C列: 償却費
C9 = ROUNDDOWN(DB($B$2, $B$3, $B$4, A9), 0)
D列: 期末帳簿価額
D9 = B9 - C9
C列とD列を下方向にコピーするだけで、全期間の推移が自動計算されます。取得価額や耐用年数を変えれば、別の資産にもそのまま応用できますよ。
DB関数が使える資産・使えない資産の判定フロー
DB関数で計算できるかどうかは、資産の取得時期で判定します。下の判定フローで確認してみましょう。
【判定フロー】
├─ Q1. 取得日は平成19年(2007年)3月31日以前か?
│ └─ YES → DB関数で計算可能(旧定率法)
│ └─ NO → Q2へ
│
├─ Q2. 取得日は平成24年(2012年)3月31日以前か?
│ └─ YES → 250%定率法(DB関数では計算不可)
│ └─ NO → Q3へ
│
└─ Q3. 取得日は平成24年(2012年)4月1日以降か?
└─ YES → 200%定率法(DB関数では計算不可)
さらに、建物と建物付属設備には定率法そのものが使えないケースがあります。平成10年4月1日以降に取得した建物は、定額法のみが適用されます。平成28年4月1日以降取得の建物付属設備・構築物も定額法のみです。建物・構築物を扱う場合は、SLN関数(定額法)を使ってくださいね。
DB関数でよくあるエラーと対処法
#NUM!エラーの原因と解決策
DB関数で最もよく発生するのが#NUM!エラーです。主な原因は次の4つです。
- 取得価額または残存価額が0以下: マイナス値を指定すると発生します
- 耐用年数が1未満: 0や負の値を指定すると発生します
- 期間が0以下または耐用年数超過: 期間は1以上、耐用年数以下で指定します
- 月が1〜12の範囲外: 月引数は整数1〜12の範囲で指定します
=DB(1000000, 0, 5, 1) → #NUM! エラー(残存価額が0)
=DB(1000000, 100000, 5, 6) → #NUM! エラー(期間が耐用年数超過)
=DB(1000000, 100000, 5, 1, 13) → #NUM! エラー(月が範囲外)
#NUM!が出たら、まず4つの引数が正しい範囲にあるかを確認してみてください。
計算結果がおかしいときの確認ポイント
値は返るけれど、数値が想定と違う場合もあります。主な原因は次の3つです。
- 旧定率法と新定率法の混同: 2007年4月以降取得の資産にDB関数を使うと誤差が出ます
- 月引数の指定漏れ: 年度途中取得なのに省略するとフル年間で計算されます
- 残存価額の設定ミス: 旧定率法では取得価額の10%を指定するのが原則です
取得日と残存価額の設定を見直すと、たいていの誤差は解消できますよ。
SLN・DDB・VDBとの比較
Excelにはほかにも減価償却関数がいくつか用意されています。目的に応じて使い分けましょう。
DB・SLN・DDB・VDBの比較表
| 関数 | 償却方法 | 構文 | 償却パターン |
|---|---|---|---|
| DB | 定率法(旧定率法) | =DB(cost, salvage, life, period, [month]) | 初期が大、年々減少 |
| SLN | 定額法 | =SLN(cost, salvage, life) | 毎年一定 |
| DDB | 倍額定率法 | =DDB(cost, salvage, life, period, [factor]) | 初期が最大、急速に減少 |
| VDB | 可変定率法 | =VDB(cost, salvage, life, start, end, [factor], [no_switch]) | 期間と係数を柔軟指定 |
DB関数は日本の旧定率法に最も近い計算方式です。DDB(ディーディービー)関数は倍額定率法(Double-Declining Balance)と呼ばれ、定額法償却率の2倍で計算します。日本の税務上の定率法とは計算が異なるので注意してください。VDB(ブイディービー)関数は、計算開始・終了期間や償却係数を柔軟に指定できる関数です。
定率法(DB)vs 定額法(SLN)どちらを選ぶべきか
会計・税務上、同じ資産に対してDBとSLNの両方を使うことはありません。企業が税務署に届け出た減価償却方法に従う必要があります。
| 観点 | DB(定率法) | SLN(定額法) |
|---|---|---|
| 償却パターン | 初年度が大きく徐々に減少 | 毎年同額 |
| メリット | 早期に多く費用計上できる | 予算見通しが立てやすい |
| デメリット | 計算がやや複雑 | 初期負担の重い資産には不利 |
| 向いている資産 | 早期に陳腐化する機械・設備 | 長期使用する車両・器具 |
法人は原則として、機械装置・器具備品等は定率法が法定償却方法です。建物・建物附属設備・構築物(平成28年4月以降取得分)は定額法のみが適用されます。資産の種類と取得時期によって選択肢が変わります。事前に確認してみてくださいね。
詳しくはExcelのSLN関数|定額法の減価償却費を自動計算の記事もあわせてご覧ください。
まとめ
ExcelのDB関数は、定率法(旧定率法)で期ごとの減価償却費を自動計算する財務関数です。
ポイントをおさらいしておきましょう。
- 構文は
=DB(取得価額, 残存価額, 耐用年数, 期間, [月]) - DB関数は旧定率法のみ対応(2007年4月以降取得の資産には使えない)
- 月引数で年度途中取得の按分計算ができる
- ROUNDDOWN関数と組み合わせて税務書類の端数にそろえる
- 年次推移表にすると固定資産台帳との照合がしやすい
- 新定率法(250%/200%)や建物は別の計算方法を使う
ほかの減価償却関数についてはフランス式定額法のAMORDEGRC関数でも解説しています。興味があればあわせてご覧ください。
DB関数を使えば、旧定率法対象の資産を期ごとに手計算する手間が大幅に減ります。ぜひ固定資産管理に活用してみてくださいね。
