GoogleスプレッドシートのSLN関数で減価償却費を自動計算!定額法の使い方と実務テンプレート
固定資産の減価償却費を計算するとき、最もシンプルで使いやすいのが定額法です。Googleスプレッドシートには、定額法の償却費を自動計算するSLN関数が用意されています。
この関数を使えば、取得価額・残存価額・耐用年数を指定するだけで、毎年の償却費が瞬時に算出されます。経理担当者や個人事業主の方にとって、固定資産台帳の作成や月次決算の効率化に役立つ機能です。
スプレッドシートのSLN関数とは?定額法の基礎知識
SLN関数は、Googleスプレッドシートで定額法による減価償却費を計算する財務関数です。SLNは「Straight-Line」の略で、直線法(定額法)を意味します。
定額法とは、資産の耐用年数全体にわたって毎年同じ額を償却する方式です。取得価額から残存価額を引いた金額を、耐用年数で均等に割って計算します。
たとえば、耐用年数5年・取得価額100,000円・残存価額10,000円の資産なら、毎年18,000円ずつ償却します。年度をまたいで償却額が変動しないため、予算管理がしやすいのが特徴です。
定額法は、建物や什器・機械など、価値が均等に減少する資産に適しています。日本の税法では、個人事業主の法定償却方法であり、法人でも建物・建物附属設備・構築物などで採用されています。
二重定率法のように初期に多く償却することはありませんが、計算が簡単で予測しやすいメリットがあります。会計担当者にとって最も基本的な減価償却関数なので、まずSLN関数の使い方をマスターしておきましょう。
SLN関数の構文と引数の詳細解説
SLN関数の基本構文は以下の通りです。
=SLN(cost, salvage, life)
DDB関数やSYD関数と異なり、period引数が不要です。毎年同じ額を償却するため、特定の年を指定する必要がありません。
引数の詳細
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| cost | 必須 | 資産の取得価額(初期購入価格)を数値で指定 |
| salvage | 必須 | 残存価額(耐用年数終了後の資産価値)を数値で指定。0も可 |
| life | 必須 | 耐用年数(償却を行う期間の総数)を数値で指定 |
引数指定時の注意点
すべての引数は数値である必要があります。文字列を指定すると#VALUE!エラーが発生します。
lifeは1以上の正の数値を指定してください。0を指定すると除算ができないため、#DIV/0!エラーになります。
salvageは通常 cost より小さい値を指定します。残存価額が取得価額を上回ると、計算結果がマイナスになってしまいます。これは通常あり得ない設定なので、入力ミスに注意しましょう。
lifeの単位は、年単位でも月単位でも構いません。年で指定すれば年間償却費、月で指定すれば月間償却費が求まります。実務では年単位で指定することが多いです。
SLN関数の基本的な使い方(実例)
実際にSLN関数を使って、定額法による償却費を計算してみましょう。
計算例の設定
- 取得価額: 100,000円
- 残存価額: 10,000円
- 耐用年数: 5年
年間償却費を計算する
セルA1に次の数式を入力します。
=SLN(100000, 10000, 5)
結果は18,000円です。これは「(100,000円 – 10,000円)÷ 5年 = 18,000円」という単純な計算です。
毎年の償却費はずっと18,000円で固定なので、period引数は不要です。DDB関数やSYD関数のように年度ごとに数式を変える手間がかかりません。
全期間の償却費
| 年度 | 償却費 | 累計償却費 | 期末簿価 |
|---|---|---|---|
| 1年目 | 18,000円 | 18,000円 | 82,000円 |
| 2年目 | 18,000円 | 36,000円 | 64,000円 |
| 3年目 | 18,000円 | 54,000円 | 46,000円 |
| 4年目 | 18,000円 | 72,000円 | 28,000円 |
| 5年目 | 18,000円 | 90,000円 | 10,000円 |
5年間で償却される総額は90,000円(取得価額 – 残存価額)で、期末簿価が残存価額10,000円に到達します。
期末簿価とは「取得価額から累計償却費を差し引いた、その時点での資産の帳簿価値」のことです。固定資産台帳では、各年度末の簿価を必ず記録します。
月単位で計算する
月単位で償却費を求めたい場合は、life引数に月数を指定します。
=SLN(100000, 10000, 60)
5年=60ヶ月なので、結果は1,500円(毎月)です。1,500円 × 12ヶ月 = 18,000円となり、年単位の計算結果と一致します。
なお、Excel版のSLN関数も同じ構文と計算式を使用しています。Excel版の詳しい使い方は、ExcelのSLN関数で定額法の減価償却費を計算する方法も参考にしてみてください。
複数年償却表の作成テンプレート
実務では、複数の固定資産を管理し、各資産の複数年にわたる償却費を一覧表示する必要があります。ここでは、SLN関数を活用した実務的な償却表の作成方法を紹介します。
テンプレートの構成
以下のような構成で償却表を作成します。1行目を見出し行、2行目以降を資産データ行として使用します。
| 列 | 項目 | 内容 |
|---|---|---|
| A | 資産名 | 固定資産の名称 |
| B | 取得価額 | cost引数の値 |
| C | 残存価額 | salvage引数の値 |
| D | 耐用年数 | life引数の値 |
| E | 年間償却費 | =SLN($B2, $C2, $D2) |
| F〜J | 各年度累計償却費 | 経過年数 × 年間償却費 |
| K | 期末簿価 | =$B2 - 累計償却費 |
数式の作成手順
- セルE2に年間償却費の数式を入力します。
=SLN($B2, $C2, $D2)
- F列〜J列に経過年数別の累計償却費を入力します。各列にそれぞれ次の数式を入れます。
F2: =$E2 * 1 (1年目末の累計)
G2: =$E2 * 2 (2年目末の累計)
H2: =$E2 * 3 (3年目末の累計)
I2: =$E2 * 4 (4年目末の累計)
J2: =$E2 * 5 (5年目末の累計)
あるいは、1行目に経過年数(1, 2, 3, 4, 5)を入力する方法もあります。数式を=$E2 * F$1のように記述すれば、横方向にコピーするだけで自動的に経過年数が増えていきます。
複数資産の一括管理
この数式を下方向にコピーすれば、複数の資産を同時に管理できます。行ごとに異なる資産の情報を入力すると、各年度の償却費と簿価が自動計算されます。
たとえば、次のような資産台帳が作成できます。
| 資産名 | 取得価額 | 残存価額 | 耐用年数 | 年間償却費 | 5年目末簿価 |
|---|---|---|---|---|---|
| 業務用PC | 200,000円 | 0円 | 4年 | 50,000円 | 0円 |
| オフィスデスク | 80,000円 | 8,000円 | 8年 | 9,000円 | 35,000円 |
| 複合機 | 350,000円 | 35,000円 | 5年 | 63,000円 | 35,000円 |
ARRAYFORMULAで一括計算する
Googleスプレッドシート固有の機能として、ARRAYFORMULA関数があります。これを使うと、複数資産の年間償却費を1つの数式で全行計算できます。
=ARRAYFORMULA(SLN(B2:B10, C2:C10, D2:D10))
ARRAYFORMULA(配列計算を一度に行う関数)で囲むのがポイントです。E2セル一つに数式を入れれば、E2〜E10まで自動的に計算結果が展開されます。資産が増えても範囲を広げるだけで対応でき、メンテナンス性が高くなります。
期末簿価と整数表示
期末簿価は=B2 - 経過年数 × 年間償却費で求められます。会計実務では円単位の整数で記録することが多いため、ROUND関数で四捨五入しておきましょう。
=ROUND(SLN(B2, C2, D2), 0)
ROUND関数(指定した桁で四捨五入する関数)で囲んで小数点以下を四捨五入すれば、円単位の整数になります。取得価額が割り切れない金額(例: 100,001円)でも、表示が崩れる心配がありません。
月割償却・期中取得への対応
実務でよくあるのが、事業年度の途中で資産を取得するケースです。たとえば3月決算の企業が10月にPCを購入した場合、当年度は10月〜3月の6ヶ月分しか償却できません。
このようなときは、年間償却費を月数で按分する月割償却を行います。
月割償却の数式
=SLN(B2, C2, D2) * 月数 / 12
具体例で計算してみましょう。
- 取得価額: 240,000円
- 残存価額: 0円
- 耐用年数: 4年
- 取得月から決算月までの月数: 6ヶ月
=SLN(240000, 0, 4) * 6 / 12
= 60000 * 6 / 12
= 30,000円
初年度は30,000円のみを計上し、2年目から4年目までは60,000円ずつ償却します。最終年(5年目)に残りの30,000円を償却して終了です。これで4年分の償却費合計は240,000円となり、取得価額と一致します。
期中取得用テンプレート
月割償却を含めた台帳テンプレートは以下のように設計します。
| 列 | 項目 | 内容 |
|---|---|---|
| A | 資産名 | 固定資産の名称 |
| B | 取得価額 | cost引数の値 |
| C | 残存価額 | salvage引数の値 |
| D | 耐用年数 | life引数の値(年) |
| E | 取得月 | 取得した月(1〜12) |
| F | 決算月 | 決算月(例: 3) |
| G | 当年度償却月数 | 取得月から決算月までの月数 |
| H | 当年度償却費 | =SLN($B2, $C2, $D2) * $G2 / 12 |
当年度償却月数の計算は、決算月や取得タイミングで複雑になるため、手動入力するほうが確実です。
月単位でlife指定する方法
月単位で life を指定すると、月割計算がよりシンプルになります。
=SLN(240000, 0, 48)
= 5,000円(毎月)
耐用年数を月数で指定すると、月別償却費が直接得られます。当年度の償却費は「月別償却費 × 当年度の償却月数」で計算可能です。
=SLN(240000, 0, 48) * 6
= 30,000円(初年度6ヶ月分)
月次決算を行う企業や、月別の固定資産明細を必要とする実務では、この方法がおすすめです。
よくあるエラーと対処法
SLN関数を使用中に表示されるエラーと、その原因・対処法を解説します。
#DIV/0!エラー
#DIV/0!エラーは、life引数が0の場合に発生します。
原因: lifeに0が入っている
=SLN(100000, 10000, 0) // lifeが0
定額法は (cost – salvage) ÷ life で計算します。life=0だと0で割る計算になり、エラーが発生します。
対処法: life引数には1以上の正の数値を指定してください。セル参照を使う場合、参照先のセルが空白の可能性があるなら、IF関数でチェックしましょう。
=IF(D2=0, "", SLN(B2, C2, D2))
#VALUE!エラー
#VALUE!エラーは、引数の型が数値でない場合に発生します。
原因: 引数にテキストが含まれる
=SLN("百万", 10000, 5) // costがテキスト
=SLN(100000, "残存", 5) // salvageがテキスト
=SLN(100000, 10000, "五") // lifeがテキスト
対処法: すべての引数に数値を指定してください。セル参照を使う場合、参照先のセルが空白やテキストでないことを確認しましょう。
参照セルが空白の可能性がある場合は、ISBLANK関数(セルが空白かどうか判定する関数)でチェックする方法もあります。
=IF(ISBLANK(B2), "", SLN(B2, C2, D2))
計算結果がマイナスになる
原因: salvage > cost
残存価額(salvage)が取得価額(cost)より大きい場合、計算結果がマイナスになります。
=SLN(10000, 100000, 5)
= (10000 - 100000) / 5
= -18,000円
通常、残存価額は取得価額以下です。これがマイナスになる場合は、引数の入力順を間違えている可能性が高いです。
対処法: cost > salvage の関係になっているか必ず確認してください。引数の順序は cost(取得価額)→ salvage(残存価額)→ life(耐用年数)です。
計算結果が小数になる
原因: (cost – salvage) が life で割り切れない
SLN関数は割り算の結果をそのまま返すため、割り切れない場合は小数になります。
=SLN(100001, 10000, 5)
= (100001 - 10000) / 5
= 18000.2
対処法: ROUND関数で整数化するか、表示形式で小数点以下の桁数を制御してください。
=ROUND(SLN(100001, 10000, 5), 0) // 18,000円
その他のエラー
#REF!エラーは、削除された行や列を参照している場合に発生します。数式内のセル参照を修正してください。
#N/Aエラーは、SLN関数自体では発生しません。ただし、引数に他の関数の結果を使用し、その関数が#N/Aを返す場合に表示されることがあります。引数に使用している関数のエラーを先に解決してください。
他の減価償却関数との比較とExcel版との違い
Googleスプレッドシートには、SLN関数以外にも複数の減価償却関数が用意されています。それぞれの特徴と、Excel版との互換性について解説します。
DDB関数(二重定率法)との比較
DDB関数は、二重定率法(倍額定率法)で減価償却費を計算します。構文は=DDB(cost, salvage, life, period, [factor])です。各年度ごとにperiod引数を指定して計算します。
DDB関数は加速償却の一種で、初年度に多く償却し、徐々に減少していきます。同じ条件(取得価額100,000円、残存価額10,000円、耐用年数5年)で1年目を計算すると、40,000円です。
=DDB(100000, 10000, 5, 1) // 1年目: 40,000円
DDB関数は、IT機器やコンピュータなど初期に価値が大きく減少する資産に適しています。詳しくはGoogleスプレッドシートの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年間の償却費合計は同じ(取得価額 – 残存価額)ですが、各年度への配分が異なります。SLNは均等、SYDは直線的に減少、DDBは指数的に減少という違いがあります。
どの関数を使うべきか?
| 関数 | 適した資産 | 業務での使いどころ |
|---|---|---|
| SLN(定額法) | 建物・什器・備品など均等減価する資産 | 個人事業主の法定償却、法人の建物 |
| DDB(二重定率法) | IT機器・コンピュータなど初期価値減少が大きい資産 | 米国基準・国際会計基準での加速償却 |
| SYD(級数法) | 中間的な加速償却が望ましい資産 | 一部業種での慣習的な計算 |
VDB関数とDB関数
より高度な償却計算が必要な場合、VDB関数(可変定率法)やDB関数(定率法)も利用できます。
VDB関数は、DDBの拡張版で、期間範囲の指定や定額法への自動切替機能があります。DB関数は、日本の税法に準拠した定率法計算に対応しており、月数調整も可能です。
Excel版SLN関数との互換性
Excel版とGoogleスプレッドシート版のSLN関数は、構文・引数・計算式がすべて同じです。同じ入力値に対して、計算結果に違いはありません。
Excel版の数式をGoogleスプレッドシートにコピー&ペーストするだけで、そのまま使えます。移行時に計算結果の違いを心配する必要はありません。
ただし、Googleスプレッドシート固有の機能として、ARRAYFORMULA関数との組み合わせが可能です。複数資産の償却費を1つの数式で一括計算できるのは、スプレッドシートならではの強みです。
まとめ
GoogleスプレッドシートのSLN関数を使えば、定額法による減価償却費を簡単に自動計算できます。取得価額、残存価額、耐用年数を指定するだけで、毎年の償却費が瞬時に算出されます。
period引数が不要なので、DDB関数やSYD関数より構文がシンプルで、初心者にも扱いやすいのが特徴です。月単位で計算したい場合は、life引数に月数を指定するだけでOKです。
複数年償却表のテンプレートやARRAYFORMULA関数を活用すれば、複数の固定資産を一括管理できます。月割償却や期中取得への対応も、年間償却費を月数で按分するだけで簡単に対応可能です。
加速償却が必要な資産にはDDB関数やSYD関数、税法準拠の計算にはDB関数を使い分けましょう。SLN関数を上手に活用して、減価償却計算を効率化してみてください。
