GoogleスプレッドシートのDDB関数で減価償却費を自動計算!二重定率法の使い方と実務テンプレート
固定資産の減価償却費を計算する際、毎年同じ額を償却する定額法だけでなく、初期に多く償却する方法もあります。Googleスプレッドシートには、二重定率法(倍額定率法)の加速償却を自動計算する機能があります。それがDDB関数です。
この関数を使えば、取得価額や耐用年数を指定するだけで各年度の償却費が瞬時に算出されます。経理担当者や個人事業主の方にとって、減価償却計算の効率化に役立つ機能ですよ。
DDB関数とは?二重定率法の基礎知識
DDB関数は、Googleスプレッドシートで減価償却費を計算する財務関数の一つです。DDBは「Double-Declining Balance」の略で、二重定率法(または倍額定率法)を意味します。
二重定率法とは、定額法の償却率を2倍にした償却率を使う加速償却の方式です。期首の未償却残高に対して一定の償却率を掛け続けます。そのため、初年度の償却費が最も大きく、年を追うごとに減少していきます。
たとえば、耐用年数5年の資産の場合、定額法の償却率は1/5(20%)です。二重定率法では、この2倍の2/5(40%)が償却率となり、毎年の未償却残高に40%を掛けて償却費を計算します。
この方式は、IT機器やコンピュータなど初期に価値が大きく減少する資産に適しています。初年度に多額の償却費を計上できるため、税負担を早めに軽減できるメリットがありますよ。
なお、日本の税法では二重定率法(factor=2)は認められていません。実務で税務申告に使用する場合は、日本の税制に準拠した200%定率法を別途計算する必要があります。この点に注意が必要です。
DDB関数の構文と引数の詳細解説
DDB関数の基本構文は以下の通りです。
=DDB(cost, salvage, life, period, [factor])
各引数の意味と指定方法を詳しく見ていきましょう。
引数の詳細
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| cost | 必須 | 資産の取得価額(初期購入価格)を数値で指定 |
| salvage | 必須 | 残存価額(耐用年数終了後の資産価値)を数値で指定。0も可 |
| life | 必須 | 耐用年数(償却を行う期間の総数)を数値で指定 |
| period | 必須 | 償却費を計算する対象期を数値で指定。lifeと同じ単位で指定 |
| factor | 任意 | 償却率の係数を数値で指定。省略時は2(二重定率法) |
引数指定時の注意点
すべての引数は正の数値である必要があります。負の値を指定すると#NUM!エラーが発生します。
lifeとperiodは同じ時間単位で指定してください。たとえば、lifeを「年」で指定したら、periodも「年」で指定します。月単位で計算したい場合は、両方とも月数で指定すればOKです。
periodはlifeを超えることができません。耐用年数5年の資産に対して6年目の償却費を計算しようとすると、エラーになります。
factorを省略すると、自動的に2(二重定率法)が適用されます。1.5を指定すると150%定率法、1を指定すると定率法と同等の計算になりますよ。
DDB関数の基本的な使い方(実例)
実際にDDB関数を使って、単年度の償却費を計算してみましょう。
計算例の設定
- 取得価額: 100,000円
- 残存価額: 10,000円
- 耐用年数: 5年
- 償却方法: 二重定率法(factor=2、省略可)
1年目の償却費を計算する
セルA1に次の数式を入力します。
=DDB(100000, 10000, 5, 1)
結果は40,000円です。取得価額100,000円に償却率0.4(2/5)を掛けた金額が1年目の償却費になります。
2年目以降の償却費を計算する
2年目の償却費は、1年目償却後の未償却残高60,000円(100,000円 – 40,000円)に償却率0.4を掛けて計算されます。
=DDB(100000, 10000, 5, 2)
結果は24,000円です。このように、期首の未償却残高が減るため、償却費も年々減少していきます。
全期間の償却費
| 年度 | 計算式 | 償却費 |
|---|---|---|
| 1年目 | =DDB(100000, 10000, 5, 1) | 40,000円 |
| 2年目 | =DDB(100000, 10000, 5, 2) | 24,000円 |
| 3年目 | =DDB(100000, 10000, 5, 3) | 14,400円 |
| 4年目 | =DDB(100000, 10000, 5, 4) | 8,640円 |
| 5年目 | =DDB(100000, 10000, 5, 5) | 2,960円 |
5年目は残存価額10,000円まで償却するため、12,960円ではなく2,960円になる点に注意してください。Googleスプレッドシートは簿価が残存価額を下回らないよう自動調整してくれますよ。
なお、Excel版のDDB関数も同じ構文と計算式を使用しているため、計算結果に違いはありません。Excel版の詳しい使い方は、こちらの記事(ExcelのDDB関数で二重定率法の減価償却費を計算する方法)も参考にしてみてください。
複数年償却表の作成テンプレート
実務では、複数の固定資産を管理し、各資産の複数年にわたる償却費を一覧表示する必要がありますよね。ここでは、DDB関数を活用した実務的な償却表の作成方法を紹介します。
テンプレートの構成
以下のような構成で償却表を作成します。
| 項目 | セル位置 | 内容 |
|---|---|---|
| 資産名 | A1 | 固定資産の名称 |
| 取得価額 | B1 | cost引数の値 |
| 残存価額 | C1 | salvage引数の値 |
| 耐用年数 | D1 | life引数の値 |
| 1年目償却費 | E1 | =DDB($B1, $C1, $D1, 1) |
| 2年目償却費 | F1 | =DDB($B1, $C1, $D1, 2) |
| 3年目償却費 | G1 | =DDB($B1, $C1, $D1, 3) |
数式の作成手順
- セルE1に次の数式を入力します。
=DDB($B1, $C1, $D1, 1)
- セルE1をコピーして、F1、G1、H1、I1に貼り付けます。
- 各セルのperiod引数を手動で修正します(F1は2、G1は3、H1は4、I1は5)。
あるいは、period引数に列番号を参照させる方法もあります。1行目にperiodの値(1, 2, 3, 4, 5)を入力し、数式を=DDB($B2, $C2, $D2, E$1)のように記述すれば、横方向にコピーするだけで自動的にperiodが増えていきますよ。
複数資産の一括管理
この数式を下方向にコピーすれば、複数の資産を同時に管理できます。行ごとに異なる資産の情報を入力し、各年度の償却費が自動計算される仕組みです。
累計償却費や期末簿価の追加
さらに実務的にするため、次の列も追加すると便利です。
- 累計償却費:
=SUM(E1:I1)で5年間の償却費合計を表示 - 期末簿価:
=$B1 - SUM(E1:I1)で償却後の残存簿価(減価償却後の帳簿上の価額)を表示
これらを組み合わせることで、固定資産台帳として機能する償却表が完成します。資産の取得価額や耐用年数を変更すれば、即座に全年度の償却費が再計算されますよ。
factor引数の使い分けと償却パターンの違い
DDB関数のfactor引数を変更すると、償却パターンが大きく変わります。実務での選択基準とともに、factor=2(二重定率法)とfactor=1.5(150%定率法)の違いを見ていきましょう。
factor=2(二重定率法)の特徴
factor=2は、定額法の償却率を2倍にした償却率を使う方式です。これがデフォルト値で、引数を省略すると自動的に適用されます。
先ほどの例(取得価額100,000円、残存価額10,000円、耐用年数5年)の場合、1年目の償却費は40,000円でした。初期に最も多額の償却費を計上できるため、税負担の早期軽減効果が最大になります。
factor=1.5(150%定率法)の特徴
factor=1.5を指定すると、定額法の償却率を1.5倍にした償却率を使う150%定率法になります。
同じ条件でfactor=1.5を指定して計算してみましょう。
=DDB(100000, 10000, 5, 1, 1.5)
結果は30,000円です。factor=2の40,000円と比べると、初年度の償却費が少なくなります。
償却パターンの比較
| 年度 | factor=2 | factor=1.5 | 差額 |
|---|---|---|---|
| 1年目 | 40,000円 | 30,000円 | 10,000円 |
| 2年目 | 24,000円 | 21,000円 | 3,000円 |
| 3年目 | 14,400円 | 14,700円 | -300円 |
| 4年目 | 8,640円 | 10,290円 | -1,650円 |
| 5年目 | 2,960円 | 7,203円 | -4,243円 |
| 合計 | 90,000円 | 83,193円 | — |
factor=2の方が初期に多く償却され、後半の償却費が少なくなります。factor=1.5は、初期と後半の差がより緩やかです。
実務での選択基準
factor=2は最も積極的な加速償却で、IT機器やコンピュータなど技術革新が早く初期に価値が大きく減少する資産に適しています。
factor=1.5は、車両や機械など、二重定率法ほど極端な償却パターンを望まない場合に選択されます。
ただし、日本の税法では二重定率法(factor=2)は認められていません。実際の税務申告では、国税庁の規定に基づく200%定率法を使用する必要があります。そのため、DDB関数で計算した結果をそのまま申告書に使うことはできません。この点に注意が必要です。
よくあるエラーと対処法
DDB関数を使用中に表示されるエラーと、その原因・対処法を解説します。
#NUM!エラー
#NUM!エラーは、引数の値が関数の仕様に合わない場合に発生します。
原因1: 負の値を指定した
すべての引数は正の数値である必要があります。
=DDB(-100000, 10000, 5, 1) // costが負
=DDB(100000, -10000, 5, 1) // salvageが負
対処法: すべての引数に正の数値を指定してください。取得価額や残存価額は通常プラスの値です。
原因2: lifeまたはperiodが0または負
耐用年数や対象期が0以下の場合、エラーになります。
=DDB(100000, 10000, 0, 1) // lifeが0
=DDB(100000, 10000, 5, 0) // periodが0
対処法: lifeとperiodには、1以上の正の整数を指定してください。
原因3: periodがlifeを超えている
対象期が耐用年数を超える場合、エラーになります。
=DDB(100000, 10000, 5, 6) // 5年なのに6年目を計算
対処法: periodはlife以下の値を指定してください。複数年償却表でperiod引数に列番号を参照させている場合、IF関数で期を制限する方法もあります。
=IF(E$1>$D2, "", DDB($B2, $C2, $D2, E$1))
この数式は、periodがlifeを超える列に空白を表示します。
原因4: factorが0または負
factor引数は正の数値である必要があります。
=DDB(100000, 10000, 5, 1, 0) // factorが0
=DDB(100000, 10000, 5, 1, -1) // factorが負
対処法: factorには1以上の正の数値を指定してください。省略すると2が適用されます。
#VALUE!エラー
#VALUE!エラーは、引数の型が数値でない場合に発生します。
原因: 引数にテキストが含まれる
引数に数値以外のテキストが含まれると、エラーになります。
=DDB("百万", 10000, 5, 1) // costがテキスト
=DDB(100000, "残存", 5, 1) // salvageがテキスト
=DDB(100000, 10000, "五", 1) // lifeがテキスト
対処法: すべての引数に数値を指定してください。セル参照を使う場合、参照先のセルが空白やテキストでないことを確認しましょう。
参照セルが空白の可能性がある場合は、IF関数やISBLANK関数でチェックする方法もあります。
=IF(ISBLANK(B1), "", DDB(B1, C1, D1, 1))
その他のエラー
#REF!エラーは、削除された行や列を参照している場合に発生します。数式内のセル参照を修正してください。
#N/Aエラーは、DDB関数自体では発生しませんが、引数に他の関数の結果を使用し、その関数が#N/Aを返す場合に表示されます。引数に使用している関数のエラーを先に解決してくださいね。
他の減価償却関数との比較とExcel版との違い
Googleスプレッドシートには、DDB関数以外にも複数の減価償却関数が用意されています。それぞれの特徴と、Excel版との互換性について解説します。
SLN関数(定額法)との比較
SLN関数は、定額法(Straight-Line)で減価償却費を計算します。構文は=SLN(cost, salvage, life)で、periodの指定が不要です。
同じ条件(取得価額100,000円、残存価額10,000円、耐用年数5年)で計算すると、毎年18,000円の償却費になります。
=SLN(100000, 10000, 5) // 毎年18,000円
定額法は最もシンプルで、建物など均等に価値が減少する資産に適しています。DDB関数のように初期に多く償却することはありませんが、計算が簡単で予測しやすいメリットがありますよ。
SYD関数(級数法)との比較
SYD関数は、級数法(Sum-of-Years’ Digits)で減価償却費を計算します。構文は=SYD(cost, salvage, life, period)です。
級数法も加速償却の一種で、初期に多く償却します。ただし、DDB関数のような指数的な減少ではなく、直線的に減少していきます。
同じ条件で1年目を計算すると、30,000円です。
=SYD(100000, 10000, 5, 1) // 1年目: 30,000円
=SYD(100000, 10000, 5, 2) // 2年目: 24,000円
=SYD(100000, 10000, 5, 3) // 3年目: 18,000円
SYD関数は、DDB関数ほど極端な加速償却を望まない場合に選択されます。
3つの関数の償却パターン比較
| 年度 | SLN(定額法) | SYD(級数法) | DDB(二重定率法) |
|---|---|---|---|
| 1年目 | 18,000円 | 30,000円 | 40,000円 |
| 2年目 | 18,000円 | 24,000円 | 24,000円 |
| 3年目 | 18,000円 | 18,000円 | 14,400円 |
| 4年目 | 18,000円 | 12,000円 | 8,640円 |
| 5年目 | 18,000円 | 6,000円 | 2,960円 |
| 合計 | 90,000円 | 90,000円 | 90,000円 |
どの方法も5年間の償却費合計は同じ(取得価額 – 残存価額)ですが、各年度への配分が異なります。初期に多く償却するほど、税負担の早期軽減効果が大きくなりますよ。
VDB関数とDB関数
より高度な償却計算が必要な場合、VDB関数(可変定率法)やDB関数(定率法)も利用できます。
VDB関数は、DDBの拡張版で、期間範囲の指定や定額法への自動切替機能があります。DB関数は、日本の税法に準拠した定率法計算に対応しており、月数調整も可能です。
Excel版DDB関数との互換性
Excel版とGoogleスプレッドシート版のDDB関数は、構文・引数・計算式がすべて同じです。同じ入力値に対して、計算結果に違いはありません。
Excel版の数式をGoogleスプレッドシートにコピー&ペーストするだけで、そのまま使えます。移行時に計算結果の違いを心配する必要はありませんよ。
ただし、表示精度の設定が異なる場合、小数点以下の表示桁数が変わることがあります。計算自体は同じですが、表示形式により見え方が変わる可能性がある点に注意が必要ですよ。
まとめ
GoogleスプレッドシートのDDB関数を使えば、二重定率法による減価償却費を簡単に自動計算できます。取得価額、残存価額、耐用年数、対象期を指定するだけで、各年度の償却費が瞬時に算出されます。
factor引数を変更することで、200%定率法(factor=2)と150%定率法(factor=1.5)を使い分けられます。初期に多く償却したい場合はfactor=2、より緩やかな加速償却にしたい場合はfactor=1.5を選択してください。
複数年償却表のテンプレートを作成すれば、複数の固定資産を一括管理できます。DDB関数を活用して、減価償却計算を効率化してみてくださいね。
