Excelの消費税計算が1円ずれる理由と、ずれない正しい式
最終確認日:2026年10月
この記事の結論
- 税込金額から消費税を逆算する式
=ROUNDDOWN(税込*0.1/1.1,0)は、金額によって1円少なくなることがある - 原因は、コンピューターが小数(0.1 や 1.1)を正確に表せないこと
- 対策は、整数だけで計算すること:
=ROUNDDOWN(税込*10/110,0)
実際に、どれくらいずれるのか
税込金額1円〜20万円のすべてについて、「税込 × 0.1 ÷ 1.1」を小数のまま計算して切り捨てた結果と、正しい結果を比べてみました。すると、10%と8%を合わせて5,313通りの金額で1円ずれました。
| 税込金額 | 正しい消費税(10%) | 小数で計算した結果 |
|---|---|---|
| 165円 | 15円 | 14円 |
| 187円 | 17円 | 16円 |
| 275円 | 25円 | 24円 |
| 330円 | 30円 | 29円 |
※ この比較は、一般的なプログラムの小数計算で行ったものです。Excel や表計算ソフトによっては、内部で誤差を補正して正しく表示される場合もあります。ただ、補正に頼らない式にしておくのが安全です。
なぜずれるのか
コンピューターは数を2進数で扱うため、0.1 や 1.1 のような小数をぴったり表すことができません。たとえば 165 × 0.1 ÷ 1.1 は、本来ちょうど 15 ですが、コンピューターの中では 14.999999… のようなわずかに小さい値になることがあります。これを ROUNDDOWN(切り捨て)すると、14 になってしまいます。
ずれない式
小数を使わず、整数だけで計算すれば誤差は出ません。
【10%】 =ROUNDDOWN(税込*10/110,0) 【8%】 =ROUNDDOWN(税込*8/108,0)
税率をセルで指定している場合(10% を 0.1 で入力している場合)は、税率を整数に直してから計算します。
=ROUNDDOWN(税込*ROUND(税率*100,0)/(100+ROUND(税率*100,0)),0)
税抜金額は、=税込-消費税 で求めると、合計がぴったり合います。
インボイスの端数処理にも注意
インボイス(適格請求書)では、消費税の端数処理を1枚の請求書につき、税率ごとに1回だけ行うルールになっています。
- 品目ごとに消費税を計算して端数処理し、それを合計する方法は認められていない
- 端数の処理方法(切り捨て・四捨五入・切り上げ)は、事業者が選んでよい
Excel で請求書を作るときは、税率ごとに税込(または税抜)金額を合計してから、上の式で消費税を1回だけ計算しましょう。
まとめ
税込*0.1/1.1は、小数の誤差で1円ずれることがある税込*10/110のように、整数だけで計算すればずれない- インボイスでは、端数処理は請求書1枚につき税率ごとに1回