エクセルで消費税を計算する方法
切り捨て・切り上げの関数と選び方
※本ページはアフィリエイト広告を利用しています
エクセルで消費税を計算しようとして、小数点以下が出てしまい手が止まったことはありませんか。税抜1,785円の10%は178.5円。この0.5円をどうするか、というところです。
答えは、関数で囲むだけです。たとえば切り捨てなら、こう書きます。
=ROUNDDOWN(A2*0.1, 0) → 178
切り上げなら ROUNDUP、四捨五入なら ROUND。書き方はどれも同じです。
ただ、この記事で本当にお伝えしたいのはその先です。「消費税は切り捨て」と書いてあるサイトが多いのですが、国税庁は切上げ・切捨て・四捨五入のどれでもよいとしています。私も経理の仕事で、前任者の作ったシートが切り捨てになっている理由を誰も説明できず、確かめるところから始めたことがあります。
読み終えると、そのままコピーして使える式と、自分の会社ではどれを使うべきかを確かめる手順が分かります。
結論:関数で囲むだけ。どれを使うかは会社のルールで決まります
エクセルで消費税の端数を処理する関数は4つです。
- 切り捨て = ROUNDDOWN または INT
- 切り上げ = ROUNDUP
- 四捨五入 = ROUND
消費税を出す式を、この関数で囲みます。
=ROUNDDOWN(A2*0.1, 0)
そして、どれを使うかはエクセルの問題ではありません。会社が消費税の端数をどう処理すると決めているかで決まります。国税庁は、切上げ・切捨て・四捨五入のどれでもよいとしています。
関数の形を先に押さえます
3つとも、書き方はまったく同じです。カッコの中に、2つのものを入れます。
=ROUNDDOWN( 数値 , 桁数 )
数値 … 処理したい計算そのもの(例:A2*0.1)
桁数 … 何円単位にするか。消費税ではほぼ 0
つまり「数値」で出た計算の答えを、「桁数」で丸める、ということです。
| 式の中の場所 | 入っているもの | そこで起きること |
|---|---|---|
| 数値 | A2*0.1 | 計算されて 178.5 が出る |
| 桁数 | 0 | その178.5を1円単位に丸めて 178 |
この「数値」「桁数」という呼び方は、エクセルが画面に出す言葉と同じです。関数名を入力したあと fx ボタンを押すと、同じ名前の入力欄が並んだ画面が開きます。
切り捨て・切り上げ・四捨五入をまとめて「丸める」と呼ぶことがあります。「端数を丸める」「小数点以下を丸める」といった使い方です。エクセルの画面には出てこない言葉ですが、職場や解説書ではよく使われます。この記事の「数値」は、その「丸めたい数」のことだと思ってください。
桁数の意味はこうです。
0… 1円単位(178.5 → 178)1… 小数第1位まで残す(178.5 → 178.5)-1… 10円単位(178.5 → 170)
この形を覚えれば、ROUNDDOWN を ROUNDUP や ROUND に入れ替えるだけで、切り上げにも四捨五入にもなります。
そのまま使える式の一覧
A2に「税抜金額」が入っているとき(例:1785)
※ 1行目は見出し、2行目からデータという想定です
| やりたいこと | B2に書く式 | 結果 |
|---|---|---|
| 10%の消費税・切り捨て | =ROUNDDOWN(A2*0.1,0) | 178 |
| 10%の消費税・切り上げ | =ROUNDUP(A2*0.1,0) | 179 |
| 10%の消費税・四捨五入 | =ROUND(A2*0.1,0) | 179 |
| 10%の消費税・切り捨て(短い書き方) | =INT(A2*0.1) | 178 |
| 8%の消費税・切り捨て | =ROUNDDOWN(A2*0.08,0) | 142 |
| 税込金額を出す | =A2+ROUNDDOWN(A2*0.1,0) | 1,963 |
A2に「税込金額」が入っているとき(例:1980)
| やりたいこと | B2に書く式 | 結果 |
|---|---|---|
| 税抜金額を出す(10%) | =INT(A2/1.1) | 1,800 |
| 消費税だけを出す(10%) | =A2-INT(A2/1.1) | 180 |
| 税抜金額を出す(8%) | =INT(A2/1.08) | 1,833 |
| 消費税だけを出す(8%) | =A2-INT(A2/1.08) | 147 |
上の8%の例で出した1,833円に、あらためて8%をかけると146.64円。切り捨てて146円です。1,833+146=1,979円で、元の1,980円に1円足りません。
おかしいわけではなく、切り捨てが2回入るとこうなります。税込から逆算した数字を使うときは、この1円が出ることを知っておいてください。
INTとROUNDDOWN、どちらを使う?
どちらも切り捨てです。INT のほうが短く書けます。桁数を書かなくてよいからです。
=INT(A2*0.1)
=ROUNDDOWN(A2*0.1, 0)
プラスの数なら、結果は同じです。
ただし、マイナスのときだけ違います
| 元の数 | INT | ROUNDDOWN |
|---|---|---|
| 178.5 | 178 | 178 |
| −178.5 | −179 | −178 |
INT は「小さいほう」へ動きます。ROUNDDOWN は「0に近いほう」へ動きます。返品や値引きでマイナスの行が出ると、この2つは1円ずれます。
- マイナスが出ないシート … INT で問題ありません。短くて読みやすいです
- 返品や値引きが入るシート … ROUNDDOWN のほうが安全です
迷ったら ROUNDDOWN にしておけば、あとで困りません。
どれを選べばいい? ── ここがいちばん大事です
「消費税は切り捨て」と覚えている方が多いと思います。私もそうでした。
ですが、国税庁のタックスアンサー No.6371「端数計算」には、切上げ・切捨て・四捨五入などの端数処理の方法については任意の方法とすることができる、と書かれています。届出も要りません。
切り捨てが多いのは、そう決めている会社が多いからです。ルールで決まっているからではありません。
確かめる順番
- 過去の請求書や会計データを見る … 同じ計算をして、端数がどう処理されているかを見れば、これまでのやり方が分かります
- 経理の担当者か上長に聞く … 「うちは切り捨てで合っていますか」と一言確認します
- 分からなければ顧問税理士に聞く … 継続して同じ方法を使うことが大事なので、確認しておく価値があります
去年までは切り捨てだったのに今年から四捨五入にすると、数字の連続性がなくなります。まず今のやり方を確認して、それに合わせてください。
インボイス(適格請求書)を出す場合の注意
端数処理の方法は自由ですが、処理してよい回数は決まっています。1枚の適格請求書につき、税率ごとに1回だけです。
明細の行ごとに端数処理をして、それを合計する形は認められていません。税率ごとに合計してから、最後に1回だけ処理します。エクセルで請求書を作っている場合は、この点だけ気をつけてください。
よくある失敗
失敗1:表示を消しただけで、合計が1円ずれる
よく使われるのが、このボタンです。
名前のとおり、減るのは「表示」の桁数だけです。中の数字は178.5のままで、見た目だけ178になっています。
画面上の数字を足した金額と、合計欄の金額が合わなくなります。書式設定は見た目を変えるだけです。中の数字を変えたいときは、必ず関数を使ってください。
失敗2:先に税込を出すと端数が出る
税抜金額に1.1をかけて税込を出す書き方です。
この形でも間違いではありませんが、消費税額を別に表示する必要があるなら、消費税を先に出して足すほうが分かりやすくなります。
=A2+ROUNDDOWN(A2*0.1, 0)
失敗3:計算の順番で合計が変わる
明細の行ごとに消費税を計算して、それを合計する。よくある作り方ですが、税率ごとに合計してから消費税を計算した金額と、1円ずれることがあります。
どちらが正しいということではなく、計算の順番が違えば結果も変わる、というだけです。ただし請求書や帳簿では、どちらの順番で計算したかを揃えておかないと、あとで突き合わせたときに原因が分からなくなります。
先ほど書いたとおり、適格請求書を出す場合は、税率ごとに合計してから1回だけ処理する形になります。
レシートの内訳が分からないときは
ここまでは「税抜金額が分かっていて、消費税を計算する」話でした。
逆に、合計金額と消費税額しか書かれていないレシートを渡されて、10%と8%の内訳が分からない、という場面もあります。その場合はエクセルで組むより、内訳を逆算するツールを使うほうが早く済みます。
まとめ
- 消費税を出す式を、関数で囲むだけ
- 切り捨て=ROUNDDOWN または INT/切り上げ=ROUNDUP/四捨五入=ROUND
- 形は
=ROUNDDOWN( 数値 , 桁数 )。消費税では桁数は0 - INTは短いが、マイナスが出るとROUNDDOWNと1円ずれる
- どれを使うかはエクセルの問題ではなく、会社のルールで決まる
- 国税庁は3つのどれでもよいとしている。切り捨てが多いのは慣行
- 書式設定で小数点を消しても、中の数字は変わらない
- 適格請求書を出す場合、端数処理は税率ごとに1回だけ