固定資産の減価償却費を計算する方法には、いくつかの償却法があります。なかでも「初期に多く、徐々に少なく」償却したいときに役立つのが、GoogleスプレッドシートのSYD関数です。
SYD関数を使えば、算術級数法(年数合計法)による償却費を、引数を指定するだけで自動計算できます。経理担当者や個人事業主の方にとって、固定資産台帳の作成や月次決算を効率化できる便利な財務関数ですよ。
この記事では、SYD関数の構文・引数・実務テンプレートまで、実例を交えて解説していきます。SLN・DDBとの使い分けについても触れますよ。
スプレッドシートのSYD関数とは?算術級数法の基礎知識
SYD関数は、Googleスプレッドシートで算術級数法による減価償却費を計算する財務関数です。SYDは「Sum-of-Years’ Digits(年数の合計の数字)」の略で、級数法・年数合計法とも呼ばれます。
算術級数法とは、各年の償却費を「残り年数の比率」で按分する方式です。耐用年数の合計値を分母にして、毎年の残り年数を分子にする計算方法ですよ。
たとえば耐用年数が5年なら、年数の合計は「5+4+3+2+1=15」となります。1年目は15分の5、2年目は15分の4、というように、年が進むごとに償却費が直線的に減っていきます。
このように初期の年に多く、後の年に少なく償却する方法を加速償却法といいます。SYD関数はDDB関数(二重定率法)よりも穏やかな加速償却で、減少の仕方が直線的になるのが特徴です。
なお、日本の税法では算術級数法は認められていません。米国基準(US GAAP)や国際会計基準(IFRS)下で選択される償却法ですよ。簿記の理論を学ぶ際にも登場する基本的な計算方法です。
SYD関数の構文と引数の詳細解説
SYD関数の基本構文は以下の通りです。
=SYD(cost, salvage, life, period)
DDB関数と同じく、period引数(期)が必要です。年度ごとに数式を変更しながら、各年の償却費を計算していきます。
引数の詳細
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| cost | 必須 | 資産の取得価額(初期購入価格)を数値で指定 |
| salvage | 必須 | 残存価額(耐用年数終了後の資産価値)を数値で指定。0も可 |
| life | 必須 | 耐用年数(償却を行う期間の総数)を数値で指定 |
| period | 必須 | 償却費を計算したい期(年度)を1〜lifeの範囲で指定 |
引数指定時の注意点
すべての引数は数値である必要があります。文字列を指定すると#VALUE!エラーが発生してしまいます。
periodには1以上 life以下の整数を指定してください。0以下、またはlifeを超える値を指定すると#NUM!エラーになります。たとえば life=5 のときに period=6 を指定するとエラーですよ。
salvageは通常 cost より小さい値を指定します。残存価額が取得価額を上回ると、計算結果がマイナスになってしまいます。
lifeとperiodの単位は揃える必要があります。年単位で指定するなら両方を年数で、月単位で指定するなら両方を月数で揃えましょう。
SYD関数の基本的な使い方(実例)
実際にSYD関数を使って、算術級数法による償却費を計算してみましょう。
計算例の設定
- 取得価額: 100,000円
- 残存価額: 10,000円
- 耐用年数: 5年
このサンプルで「年数の合計」を計算すると、5+4+3+2+1=15 になります。償却対象金額は cost – salvage = 90,000円です。
1年目の償却費を計算する
セルA1に次の数式を入力します。
=SYD(100000, 10000, 5, 1)
結果は30,000円です。これは「90,000円 × 5/15 = 30,000円」という計算で算出されています。
1年目の係数は、耐用年数が5年なので分子に5を使います。残り年数が最も多い年なので、最も大きい償却費が計上される仕組みですよ。
2年目以降の償却費を計算する
period引数を変えるだけで、各年度の償却費を計算できます。
=SYD(100000, 10000, 5, 2) // 2年目: 24,000円
=SYD(100000, 10000, 5, 3) // 3年目: 18,000円
=SYD(100000, 10000, 5, 4) // 4年目: 12,000円
=SYD(100000, 10000, 5, 5) // 5年目: 6,000円
各年の償却費は、前年から6,000円ずつ減っていきます。これがSYD関数の特徴である「直線的な減少」です。
全期間の償却費
| 年度 | 計算式 | 償却費 | 累計償却費 | 期末簿価 |
|---|---|---|---|---|
| 1年目 | 90,000 × 5/15 | 30,000円 | 30,000円 | 70,000円 |
| 2年目 | 90,000 × 4/15 | 24,000円 | 54,000円 | 46,000円 |
| 3年目 | 90,000 × 3/15 | 18,000円 | 72,000円 | 28,000円 |
| 4年目 | 90,000 × 2/15 | 12,000円 | 84,000円 | 16,000円 |
| 5年目 | 90,000 × 1/15 | 6,000円 | 90,000円 | 10,000円 |
5年間の償却費合計は90,000円(取得価額-残存価額)で、期末簿価が残存価額10,000円に到達します。
期末簿価とは「取得価額から累計償却費を差し引いた、その時点での資産の帳簿価値」のことです。固定資産台帳では各年度末の簿価を必ず記録しますよ。
なお、Excel版のSYD関数も同じ構文と計算式を使用しています。関連する償却関数としてExcelのSLN関数の使い方やExcelのDDB関数の使い方もあわせて参考にしてみてください。
算術級数法の計算原理を直感的に理解する
SYD関数の計算を理解するうえで重要なのが「年数の合計(Sum of Years’ Digits)」という考え方です。少しビジュアル的に見ていきましょう。
年数の合計の計算方法
耐用年数の各年を逆順に並べて足し算するだけです。
耐用年数3年: 3 + 2 + 1 = 6
耐用年数5年: 5 + 4 + 3 + 2 + 1 = 15
耐用年数10年: 10 + 9 + ... + 1 = 55
これを公式で表すと「life × (life + 1) / 2」となります。たとえば10年なら「10 × 11 / 2 = 55」です。
各年の係数
各年の償却費は「残り年数 ÷ 年数の合計」で計算されます。1年目は最大、最終年は最小です。
| 耐用年数 | 1年目 | 2年目 | 3年目 | 4年目 | 5年目 |
|---|---|---|---|---|---|
| 3年 | 3/6 (50%) | 2/6 (33%) | 1/6 (17%) | – | – |
| 5年 | 5/15 (33%) | 4/15 (27%) | 3/15 (20%) | 2/15 (13%) | 1/15 (7%) |
このように、初期の年ほど大きな比率で償却され、年が進むごとに比率が下がっていきます。
なぜ「直線的」に減少するのか
SYD関数で計算した各年の償却費を引き算すると、減少幅が常に一定になります。たとえば耐用年数5年なら、毎年6,000円ずつ減少していきます。
1年目→2年目: 30,000 - 24,000 = 6,000円
2年目→3年目: 24,000 - 18,000 = 6,000円
3年目→4年目: 18,000 - 12,000 = 6,000円
4年目→5年目: 12,000 - 6,000 = 6,000円
これは年数の合計を分母にしているため、毎年「1/15」ずつ係数が減ることに対応しています。グラフにすると右肩下がりの直線になりますよ。
DDB関数(二重定率法)の場合は指数関数的に減少するため曲線を描きます。一方SYD関数は穏やかな加速償却で、直線的に減るのが特徴ですよ。
複数年償却表の作成テンプレート
実務では、複数の固定資産を管理し、各資産の複数年にわたる償却費を一覧表示する必要があります。ここではSYD関数を活用した実務的な償却表の作成方法を紹介します。
テンプレートの構成
以下のような構成で償却表を作成します。1行目を見出し行、2行目以降を資産データ行として使用しましょう。
| 列 | 項目 | 内容 |
|---|---|---|
| A | 資産名 | 固定資産の名称 |
| B | 取得価額 | cost引数の値 |
| C | 残存価額 | salvage引数の値 |
| D | 耐用年数 | life引数の値 |
| E〜I | 各年度償却費 | SYD関数で計算 |
| J | 償却費合計 | E〜Iの合計 |
| K | 期末簿価 | 取得価額から累計償却費を引いた値 |
数式の作成手順
1行目(見出し行)のE1〜I1セルに、period引数として使う数値「1」「2」「3」「4」「5」を入力しておきます。表示用に「1年目」などのラベル行を別に設けておくと、より見やすい台帳になりますよ。
2行目以降の各セルに次の数式を入力します。
E2: =SYD($B2, $C2, $D2, E$1) (1年目)
F2: =SYD($B2, $C2, $D2, F$1) (2年目)
G2: =SYD($B2, $C2, $D2, G$1) (3年目)
H2: =SYD($B2, $C2, $D2, H$1) (4年目)
I2: =SYD($B2, $C2, $D2, I$1) (5年目)
絶対参照($B2, $C2, $D2)と複合参照(E$1)を活用するのがポイントです。E2の数式を右と下にコピーするだけで全セルに自動展開できるので、メンテナンス性が大幅に向上しますよ。
複数資産の一括管理
この数式を下方向にコピーすれば、複数の資産を同時に管理できます。行ごとに異なる資産の情報を入力すると、各年度の償却費が自動計算されます。
たとえば次のような資産台帳が作成できますよ。
| 資産名 | 取得価額 | 残存価額 | 耐用年数 | 1年目 | 2年目 | 3年目 |
|---|---|---|---|---|---|---|
| サーバー機 | 600,000円 | 0円 | 3年 | 300,000円 | 200,000円 | 100,000円 |
| 業務用車両 | 2,000,000円 | 200,000円 | 6年 | 514,286円 | 428,571円 | 342,857円 |
| 工具一式 | 150,000円 | 15,000円 | 5年 | 45,000円 | 36,000円 | 27,000円 |
業務用車両の例を確認しておきましょう。償却対象は1,800,000円、年数の合計は6×7/2=21です。1年目は1,800,000×6/21=514,285.71…で、約514,286円となりますよ。
ARRAYFORMULAで一括計算する
Googleスプレッドシート固有の機能として、ARRAYFORMULA関数があります。これを使うと、複数資産の各年度償却費を1つの数式で全行計算できますよ。
=ARRAYFORMULA(SYD(B2:B10, C2:C10, D2:D10, E1))
ARRAYFORMULA(配列計算を一度に行う関数)で囲むのがポイントです。E2セル一つに数式を入れれば、E2〜E10まで自動的に計算結果が展開されます。資産が増えても範囲を広げるだけで対応できますよ。
ただしperiod引数(E1)は単一セル参照にする必要があります。年度ごとに別の数式を作成するか、複数のARRAYFORMULAを並べるかたちになります。
整数表示に整える
償却費は割り切れない場合があるため、ROUND関数で四捨五入して整数表示にすることをおすすめします。
=ROUND(SYD(B2, C2, D2, E1), 0)
ROUND関数(指定した桁で四捨五入する関数)で囲んで小数点以下を四捨五入すれば、円単位の整数になります。会計実務では円単位での記録が一般的ですよ。
SLN・DDBとの3関数比較と使い分け
Googleスプレッドシートには、SYD関数以外にも代表的な減価償却関数があります。SLN(定額法)・DDB(二重定率法)との比較から、各関数の使い分けを見ていきましょう。
3関数の構文比較
| 関数 | 償却方法 | 構文 | period引数 |
|---|---|---|---|
| SLN | 定額法 | =SLN(cost, salvage, life) | 不要 |
| SYD | 算術級数法 | =SYD(cost, salvage, life, period) | 必要 |
| DDB | 二重定率法 | =DDB(cost, salvage, life, period, [factor]) | 必要 |
SLN関数は毎年同額のためperiod引数が不要で、構文が最もシンプルです。SYD関数とDDB関数は年度ごとに償却費が変わるため、period引数が必須となります。
償却パターンの数値比較
同じ条件(取得価額100,000円、残存価額10,000円、耐用年数5年)で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円 |
SLNは毎年18,000円で完全に均等です。SYDは初年度30,000円から毎年6,000円ずつ減少し、直線的に変化します。DDBは初年度40,000円と最も多く、急速に減少して最終年に残存価額に達しますよ。
3関数とも合計は90,000円(取得価額-残存価額)で一致します。ただし各年度への配分パターンは大きく異なるので、資産の特性に応じて選ぶ必要があります。
グラフで見る3関数の違い
各関数の年度別償却費を視覚的に表現すると、次のようなパターンになります。
- SLN: 毎年同じ高さの棒グラフ(フラット)
- SYD: 棒グラフが直線的に低くなる(一定の減少幅)
- DDB: 最初が高く、急激に低くなる(指数関数的な減少)
SYDはSLNとDDBのちょうど中間的な償却カーブを描く関数だと覚えておくと良いですよ。
各関数の使いどころ
| 関数 | 適した資産 | 業務での使いどころ |
|---|---|---|
| SLN(定額法) | 建物・什器・備品など均等減価する資産 | 個人事業主の法定償却、法人の建物 |
| SYD(算術級数法) | 価値減少が緩やかに加速する資産 | 米国基準・国際会計基準での選択肢 |
| DDB(二重定率法) | IT機器・コンピュータなど初期価値減少が大きい資産 | 米国基準での加速償却の代表 |
SYD関数は、DDB関数ほど極端な加速償却を望まない場合に選ばれます。米国基準の会計制度下で「初期に多めに償却したいが、減少カーブを穏やかにしたい」というニーズに応える関数ですよ。
詳しくはスプレッドシートのSLN関数(定額法)やスプレッドシートのDDB関数(二重定率法)もあわせてご覧ください。
日本の税法との関係
日本の法人税法・所得税法では、認められている償却方法は定額法・定率法・生産高比例法などです。算術級数法(SYD)は法定償却方法には含まれていません。
そのため、日本国内の税務申告で級数法を使うことはできません。ただし、グループ会社の連結会計や米国基準・IFRSベースでの管理会計には登場することがありますよ。
よくあるエラーと対処法
SYD関数を使用中に表示されるエラーと、その原因・対処法を解説します。
#VALUE!エラー
#VALUE!エラーは、引数の型が数値でない場合に発生します。
原因: 引数にテキストが含まれる
=SYD("百万", 10000, 5, 1) // costがテキスト
=SYD(100000, "残存", 5, 1) // salvageがテキスト
=SYD(100000, 10000, "五", 1) // lifeがテキスト
=SYD(100000, 10000, 5, "初年") // periodがテキスト
対処法: すべての引数に数値を指定してください。セル参照を使う場合は、参照先のセルが空白やテキストでないことを確認しましょう。
参照セルが空白の可能性がある場合は、ISBLANK関数(セルが空白かどうか判定する関数)でチェックする方法もあります。
=IF(ISBLANK(B2), "", SYD(B2, C2, D2, E1))
#NUM!エラー
#NUM!エラーは、引数の数値が計算できない範囲にある場合に発生します。
原因1: salvage が負の数
=SYD(100000, -10000, 5, 1)
残存価額に負の数を指定すると計算が成立しないため、エラーになります。
対処法: salvage は0以上の値を指定してください。
原因2: life が0以下
=SYD(100000, 10000, 0, 1)
耐用年数が0だと償却の概念が成立しないため、エラーになります。
対処法: life は1以上の正の数値を指定してください。
原因3: period が範囲外
=SYD(100000, 10000, 5, 0) // periodが0以下
=SYD(100000, 10000, 5, 6) // periodがlifeを超える
period は1以上 life以下の整数を指定する必要があります。
対処法: period の値を1〜lifeの範囲に収めてください。台帳テンプレートで自動展開している場合は、IF関数で範囲チェックを入れると安全ですよ。
=IF(OR(E1<1, E1>$D2), "", SYD($B2, $C2, $D2, E1))
計算結果がマイナスになる
原因: salvage > cost
残存価額(salvage)が取得価額(cost)より大きい場合、計算結果がマイナスになります。
=SYD(10000, 100000, 5, 1)
= (10000 - 100000) × 5/15
= -30,000円
通常、残存価額は取得価額以下です。マイナスになる場合は、引数の入力順を間違えている可能性が高いですよ。
対処法: cost > salvage の関係になっているか必ず確認してください。引数の順序は cost(取得価額)→ salvage(残存価額)→ life(耐用年数)→ period(期)です。
その他のエラー
#REF!エラーは、削除された行や列を参照している場合に発生します。数式内のセル参照を修正してください。
#N/Aエラーは、SYD関数自体では発生しません。ただし引数に他の関数の結果を使用し、その関数が#N/Aを返す場合に表示されることがあります。
SYD関数の活用シーンと実務テクニック
SYD関数を実務で活用する具体的なシーンと、応用テクニックを紹介していきます。
米国基準連結会計でのSYD活用
日本親会社が米国子会社を連結する場合、米国子会社が選択している償却方法を使います。米国基準下でSYDを採用している場合、Googleスプレッドシートで現地会計に準拠した償却表を簡単に作成できますよ。
子会社別・資産別に償却費を集計し、親会社で連結する場面でSYD関数が活躍します。
IFRS子会社の管理会計
IFRS導入子会社では、固定資産の使用パターンに応じて償却方法を選択します。IT機器のように初期使用頻度が高い資産にSYDを採用することがあります。
教育・学習用途
簿記検定や公認会計士試験では、級数法の計算問題が出題されます。手計算で年数の合計を求める練習にスプレッドシートを使うと、検算が効率化できますよ。
月次決算での月割計算
SYD関数で年間償却費を求めた後、12で割れば1ヶ月分の償却費が得られます。月次決算でも活用できますよ。
=SYD(B2, C2, D2, E1) / 12
ただし、SYDは年度ごとに償却費が変わるため、年度をまたぐ月次計算は注意が必要です。年度切替月(4月など)で数式を切り替える運用にしましょう。
期中取得への対応
期中(事業年度の途中)に資産を取得した場合、初年度は月割計算を行います。SYDの場合は次のように計算しますよ。
初年度償却費 = SYD(B2, C2, D2, 1) × 取得月数 / 12
たとえば10月取得・3月決算なら、取得月数は6ヶ月です。
=SYD(100000, 10000, 5, 1) * 6 / 12
= 30000 * 6 / 12
= 15,000円
ただし、初年度に償却しなかった残り6ヶ月分(15,000円)は、最終年度の翌年に追加計上するなどの調整が必要になります。期中取得の処理方法は会計基準によって異なるので、自社の会計方針を確認しておきましょう。
まとめ
GoogleスプレッドシートのSYD関数を使えば、算術級数法による減価償却費を簡単に自動計算できます。取得価額・残存価額・耐用年数・期を指定するだけで、各年度の償却費が瞬時に算出されますよ。
SYD関数の最大の特徴は、初期に多く・後期に少なく、しかも直線的に減少する償却カーブです。SLN関数(毎年同額)とDDB関数(指数関数的減少)のちょうど中間的な償却パターンになりますよ。
実務では、複数年償却表のテンプレートやARRAYFORMULA関数を活用すれば、複数の固定資産を一括管理できます。ROUND関数で整数表示にすれば、会計実務で扱いやすい形式に整えられます。
日本の税法では級数法は認められていませんが、米国基準・国際会計基準下では選択肢の一つです。米国子会社の連結会計やIFRS子会社の管理会計などで活躍しますよ。
エラー対処では、特にperiod引数を1〜lifeの範囲に収めることに注意しましょう。範囲外の値を指定すると#NUM!エラーになります。
定額法を使いたい場合はSLN関数、二重定率法を使いたい場合はDDB関数と、目的に応じて使い分けてみてください。Excel版とも構文・計算結果が完全互換です。Excelで作成した償却表をそのままGoogleスプレッドシートにコピーしても問題ありませんよ。
