税込金額の「1円ずれ」を防ぐ:ROUNDDOWN・ROUND・INTの違いと2つの注意

税込金額の「1円ずれ」を防ぐ:ROUNDDOWN・ROUND・INTの違いと2つの注意

記事
IT・テクノロジー
税抜の金額に 1.1 を掛けて税込を出すと、1357.4 のように小数が出ます。表示形式で小数を隠しただけだと、合計したときに請求書と1円ずれることがあります。端数は関数で処理しておくのが安全です。

例として、A列に税抜の金額が入った表を使います。

A2:1234
A3:980
A4:1995

■端数の処理は3通り

切り捨て・四捨五入・切り上げで、使う関数が違います。どれにするかは、お店や会社の決まり(請求書の書き方)に合わせます。

切り捨て =ROUNDDOWN(A2*1.1, 0)
四捨五入 =ROUND(A2*1.1, 0)
切り上げ =ROUNDUP(A2*1.1, 0)

最後の 0 は「小数点以下0桁にそろえる」という意味です。見本で計算した結果は次のとおりでした。

1234円:そのまま 1357.4 → 切り捨て 1357/四捨五入 1357/切り上げ 1358
980円:そのまま 1078 → 切り捨て 1078/四捨五入 1078/切り上げ 1078
1995円:そのまま 2194.5 → 切り捨て 2194/四捨五入 2195/切り上げ 2195

1995円の行のように、四捨五入と切り捨てで1円変わる行があります。

■注意1:INT は「切り捨て」と同じではない

切り捨てに INT を使う書き方もよく見かけます。プラスの金額なら ROUNDDOWN と同じ結果ですが、マイナスでは違います。

返品・値引きの行として -1234 を入れて計算したところ、

=ROUNDDOWN(-1234*1.1, 0) → -1357
=INT(-1234*1.1) → -1358

になりました。INT は「より小さい整数」に向かうので、マイナスでは絶対値が大きくなる側へ1円動きます。値引きやマイナスの行が混ざる表では、ROUNDDOWN を使うほうが意図どおりになりやすいです。

■注意2:1行ずつ丸めるか、合計してから丸めるか

105円の品を3つ売った場合で比べました。

・1行ずつ税込にして切り捨て、あとで合計:115+115+115=345
・税抜を合計(315)してから税込にして切り捨て:346.5 → 346

同じ売上でも1円違います。どちらが正しいかは決まりしだいなので、請求書の作り方に合わせて「どの段階で丸めるか」を先に決めておくと、集計と請求書がずれません。

もう1つ、表示形式で小数を隠しただけの列は、見た目が整数でも中身は小数のままです。見本で、隠しただけの3行(1234・980・1995)を SUM すると 4629.9 でした。画面では「4630」と見えることがあり、請求書の数字と食い違う原因になります。

■まとめ

・税込は ROUNDDOWN/ROUND/ROUNDUP(金額*1.1, 0) で、決まりに合わせて丸める
・マイナスの行がある表では INT ではなく ROUNDDOWN
・「1行ずつ丸める」か「合計してから丸める」かを先に決める
・表示形式で隠すだけでは、中身の小数は残る

※式は Excel 互換の計算ライブラリ(Python の formulas)で見本の表を計算して確かめました。Google スプレッドシートや Excel の画面そのものでは試していません。

「この表で税込と合計をこう出したい」という式づくりは、出品中の「スプレッドシート関数・GASを1つお作りします」でもお受けしています。購入前のご相談だけでも大丈夫です。

この記事は生成AI(Claude)を使って書き、式は上の方法で計算して確かめています。
サービス数100万件のスキルマーケット、あなたにぴったりのサービスを探す