【注意】減価償却費計算にエクセルのSLN、VDB関数を使ったらダメ
エクセルでは、減価償却費を計算するために、SLN関数、VDB関数といった関数が準備されています。
ところが、これらの関数を使うと、正しい減価償却費が計算できない場合があります。
ですから、これらの関数を使うのは止めましょう。
この記事の目次
SLN関数、VDB関数とは?
SLN関数は定額法、VDB関数は定率法により減価償却費の計算を行うために準備された関数です。
例えば、購入金額100万円、耐用年数6年の資産を購入した場合、
=sln(「購入金額」,0,「耐用年数」)
=vdb(「購入金額」,1,「耐用年数」,「n-1」,「n」,200%)
という計算式で、各年度の償却費の計算ができる、、、と言われているのですが、実は、これでは、正しい金額が求められない場合があるのです。
SLN関数、VDB関数の計算結果が正しくない実例
例として、購入金額100万円、耐用年数6年の場合の計算を見てみます。
SLN関数の計算結果と、定額法による計算結果を比べると、計算結果がずれていることが分かります。
また、VDB関数と定率法による計算結果を比べても、計算結果がずれています。
なぜ、SLN関数、VDB関数の計算結果が違うのか?
SLN関数、VDB関数を使うと、減価償却費の計算にずれが生じる原因は「端数処理」の影響です。
例えば、定額法計算の場合。
6年間で100万円を費用化しようとすると、単純計算だと1年あたり次の金額を費用化すればいいですよね?
100万円÷6=166,666.6666・・・円
ところが、日本の税法での計算方法は違います。
耐用年数6年の場合の償却率が「0.167」と定められていて、これを取得価額にかけるというルールになっています。
100万円×0.167=167,000円
「÷6(=×0.166666・・・)」の部分が「×0.167」に変わってしまうのです。
このように、税法での償却率を決めるときには小数第三位までで端数処理をしてしまっているために、減価償却費の理論値と金額がずれてしまうのです。
これが、SLN関数での計算結果と、実際の計算結果のずれの原因です。
定率法の場合も、全く同じ理由で、金額がずれてしまいます。
計算結果が違うといっても・・・
このように、SLN関数、VDB関数を使うと計算結果は、本来の金額からずれてしまいます。
ただ、先ほど説明した原因からもわかるとおり、ずれる金額はそれほど大きくありません。
例えば、耐用年数6年であれば、購入金額100万円に対して毎年の償却費のずれは500円以下程度です。
税額にすると数百円ずれるかどうか、という程度の影響です。
ですから、償却費を概算で計算できればいいというのであれば、充分使い物になるかもしれません。
でも、正確な金額を計算したいのであれば、SLN関数、VDB関数を使って計算をするのは止めましょう。
減価償却費をエクセルで正確に計算する方法
それでは、減価償却費を正確に計算するにはどうすればいいか?というと、地道に計算式を組んでいくしかありません。
定額法の計算
定額法の計算は、次のように行います。
通常は、次の計算式のように、取得価格(購入金額)に償却率をかければ償却額が計算できます。
ただし、償却額が前期末の帳簿金額未満でないといけませんので、min関数でその補正を行っています。
そうしてできたのが、上記の図で書いている
という計算式です。
定率法の計算
定率法の計算は、次のように行います。
- E列:改訂取得価額
-
今年の償却費(G5*$D$2)と、償却保証額($B$1*$F$2)とを比較して、
- 償却費のほうが小さい → その前年の期末帳簿価額を改訂取得価額として表示
- 償却費のほうが大きい → 1つ上のセルの内容をそのまま転記(=0を表示)
という処理を行います。
実際の計算式は、もう少し複雑で、
- 過年度で、改訂取得価額が計算済みでない(E5=0に該当する)場合のみ、改訂取得価額を計算し
- すでに改訂取得価額が計算済みの場合には、1つ上のセルの内容をそのまま転記する
という計算をしています。
- F列:償却額
-
期末帳簿金額×償却率(G5*$D$2)と、改訂償却額(E5*$E$2)のどちらか大きいほうを償却額とします。
ただし、償却額が前期末の帳簿金額未満でないといけませんので、min関数でその補正を行っています。
まとめ
エクセルを使って、自力で減価償却計算をするのは、なかなか大変です。
現実的には、減価償却ソフトを使うほうがいいのかもしれません。