エクセルで作った注文書、請求書や領収書には必ず『消費税』というものがついてまわります。
購入した商品の価格に8%をかけたものが消費税となりますが、エクセルで消費税や消費税込みの合計を求める時に、誤差が出る場合があるんですよね。
それは、消費税の計算結果を『端数処理』していないからです。
- 消費税の計算結果に誤差が発生する理由
- 消費税の計算結果を端数処理して正しく求める
- 消費税を切り捨てるROUNDDOWN関数の使い方
エクセルで明示的に端数処理をさせないと、エクセルは計算結果を勝手に『四捨五入』します。
小数点以下を四捨五入してしまうから、本当の消費税の計算結果とあわなくなるわけです。
今回は、消費税の計算では必須となる『端数処理』をしてくれる関数(ROUND系間衣数)の使い方を解説します。
エクセルの消費税の計算結果になぜ誤差が出るのか
冒頭でも書いたように、エクセルで何も考えずに消費税の計算をさせると『四捨五入』された計算結果となります。
正確には、『四捨五入された表示』になります。
実際のエクセルの計算結果と、正確な計算結果を比較した方がわかりやすいと思うので、画像で解説します。
エクセルの消費税の計算結果で誤差が発生するパターン(端数処理なし)
セルが赤い『消費税』、『税込価格』は、それぞれ合計すると148円、1,988円となるはずですが、黄色の合計では147円、1,987円となっていますよね。
それぞれ1円の誤差が出ています。
でも、実際の計算結果は右側の緑のセルに表示されているものです。
これからわかるように、計算した結果は正確に求まっていますが、その計算結果が四捨五入されて表示されるから誤差が出ているように見えるわけなんです。
端数まで求める必要がある計算だったら別ですが、お金の計算では端数の処理をするのが当たり前です。
エクセルの消費税の計算結果を端数処理して正しく求める(ROUNDDOWN関数)
消費税の端数は『切り捨て』処理するのが一般的なので、切り捨て処理をしてくれるROUNDDOWN関数を使った計算が次の画像です。
消費税、税込価格とも合計とぴったりあってますよね。
右の実際の値を見てもわかるように、切り捨てたことで、端数(小数点以下)の部分が0となっています。
これで誤差が出ないようになりました。
切り捨てではなく切り上げを使っても、小数点以下は残らないので誤差は発生しません。
ともかく、誤差が出ないようにするためには、端数が残ったままの状態でで計算させないことです。
ROUND関数で桁数の指定によっては整数部の処理もできる
端数処理にはROUND(四捨五入)、ROUNDUP(切り上げ)、ROUNDDONW(切り捨て)の3つの関数がありますが、それぞれ処理する対象の桁数を二番目の引数に指定することができます。
通常は端数処理したい小数点以下の桁数を1や2で指定しますが、
端数を切り捨てるROUNDDOWN関数の使い方
端数を切り捨てるROUNDDOWN関数は、『=ROUNDDOWN(値、0)』という形式で入力します。
第二引数には『切り捨てる桁数』を指定します。
下の画像にも書いているように、『切り捨てる桁数』が0だと小数点以下はすべて切り捨て。
消費税の計算ではこの桁数に0を指定します。
他には、桁数が1だと小数点二位以下が切り捨て、桁数が2だと小数点三位以下が切り捨てというように、数字が大きくなると切り捨てる小数点以下の桁数が大きくなります。
逆に、『切り捨てる桁数』にマイナスをつけて-1と指定すると、整数部の1桁目を処理してくれます。
123.12だったら、120となります。
千単位や万単位で四捨五入/切り捨て/切り上げしたい場合は、桁数はそれぞれ、-4、-5と指定すればいいです。
消費税10%対応は万全ですか?
エクセル内の計算式は10%に対応していますか?
次の記事では10%の消費税の求め方や、8%の内税(税込)から10%の内税を再計算する方法について詳しく解説しています。
ぜひ参考にしてください!