消費税額の計算、単価の按分、勤怠時間の集計など、Excelで数値を扱っていると「端数をどう処理するか」という場面に必ず突き当たります。四捨五入すべきか、切り捨てるべきか、切り上げるべきかは業務のルール次第であり、これを正しく指定できるのがROUND・ROUNDUP・ROUNDDOWNの3関数です。見た目は似ていますが挙動は明確に異なり、さらに「セルの表示形式」による丸めと混同すると、後続の集計でじわじわと誤差が積み重なるトラブルにつながります。この記事では3関数の違いと、実務でつまずきやすいポイントを解説します。

ROUND・ROUNDUP・ROUNDDOWNの基本と違い

3関数はいずれも「数値」「桁数」の2つの引数を取り、指定した桁数まで数値を丸めて返します。違うのは丸め方の方向だけです。

=ROUND(数値, 桁数) =ROUNDUP(数値, 桁数) =ROUNDDOWN(数値, 桁数)

例:108.4を整数(桁数0)に丸める場合
=ROUND(108.4,0) → 108(四捨五入で切り捨て側になる)
=ROUNDUP(108.4,0) → 109(端数がある限り必ず繰り上げ)
=ROUNDDOWN(108.4,0) → 108(端数がある限り必ず切り捨て)

ROUND

  • 四捨五入
  • 端数が5以上なら切り上げ、4以下なら切り捨て

ROUNDUP

  • 必ず切り上げ
  • 端数が0.001でも繰り上がる

ROUNDDOWN

  • 必ず切り捨て
  • 端数がどれだけあっても捨てられる

ROUNDUPとROUNDDOWNには「四捨五入」の概念がなく、端数が0.0001でもROUNDUPは容赦なく繰り上げ、ROUNDDOWNは容赦なく切り捨てます。

桁数(第2引数)の符号による応用

桁数にプラスの数値を指定すると小数点以下の桁数を、マイナスの数値を指定すると整数部分の十の位・百の位・千の位を丸めることができます。符号の向きが直感と逆に感じられるため、ここでつまずく人は少なくありません。

=ROUND(12345,-2) → 12300(百の位で四捨五入) =ROUND(12345,-3) → 12000(千の位で四捨五入)

経営会議資料や見積書で金額を「千円単位」「万円単位」に丸めて見やすく表示したい場合、この負の桁数指定がよく使われます。

表示形式の丸めと関数の丸め、実は「値」が違う

実務でもっとも見落とされがちなのが、「セルの表示形式で小数点以下の桁数を減らす」ことと「関数で実際の値を丸める」ことはまったく別物だという点です。表示形式の変更は画面上の見た目が変わるだけで、セルの中の実際の値は小数点以下も含めてそのまま残ります。一方でROUND系の関数は、実際の値そのものを丸めた新しい数値を返します。たとえば単価×税率の消費税額セルを、表示形式だけ「小数点以下非表示」にして整数風に見せている場合、実際のセルには108.4のような小数が残ったままです。これを複数行分SUMすると、見た目の整数を単純に足した金額とはズレた合計が出てしまい、「経理の集計が1円合わない」というクレームの典型的な原因になります。

消費税計算と会社ごとの端数処理ルール

消費税額の端数処理は「切り捨て」「四捨五入」「切り上げ」のいずれを採用するかが会社ごとの規定で決まっており、法律で一律に決まっているわけではありません。そのため自社が切り捨てを採用していても、取引先が四捨五入を採用していると、同じ取引金額でも請求書の消費税額が1円ズレることが実際に起こります。ROUNDDOWNで計算していたのに先方はROUNDで計算していた、というのはよくあるすれ違いです。経理担当者は自社の端数処理ルールを数式に正しく反映させ、ズレが起きた際に説明できるようにしておくことが大切です。

実務でのよくある使用シーン

経理担当者であれば、自社の消費税端数処理ルールが「切り捨て」と定められている場合、税抜金額に税率を掛けて算出した消費税額をROUNDDOWNで処理し、請求書や仕訳データの税額欄に反映させる場面が典型的です。総務担当者であれば、勤怠システムから出力された実労働時間(たとえば7.83333時間のような小数)を、給与計算規定に沿って15分単位・30分未満切り捨てなどのルールで丸める際にROUNDDOWNやROUNDを使います。営業事務担当者であれば、見積書の単価を端数のない金額に整えたり、経営資料の金額を万円単位に丸めて見やすくする際にROUND(数値,-4)のような負の桁数指定を使ったりします。

よくあるエラー・トラブルと対処法

#VALUE! エラー

第1引数に数値でないセルを参照していると発生します。

例:=ROUND(A1,0) でA1に「未確定」という文字列や、見た目は数字でも他システムからの取り込みで文字列扱いになっているセルが入っている

対処法として、対象セルにISNUMBER(A1)を入れて数値かどうかを確認しましょう。CSV取り込みなどで文字列扱いになっているのが原因なら、VALUE関数で数値化するか、セルの左寄せ表示(文字列扱いのサイン)を確認して修正してください。

桁数の符号を逆に覚えていて、丸めたい桁がズレる

プラスとマイナスの意味を逆に覚えていると、想定と違う桁が丸められます。

例:千円未満を切り捨てたいのに =ROUNDDOWN(A1,2) と書いてしまい、小数点以下2桁までしか切り捨てられず千円未満の端数が残る

正しくは千の位で切り捨てたい場合 =ROUNDDOWN(A1,-3) のようにマイナスの桁数を指定します。

表示形式だけ変更して「丸めた」つもりになり、後続の計算に誤差が出る

前述の「表示形式の丸め」と「関数の丸め」の違いを理解しないまま作業を進めてしまうケースです。

例:書式設定で小数点以下の表示桁数を0にしただけで、実際のセルの値は108.4のまま。このセルをSUMの参照元にすると見た目の整数とは異なる合計になる

対処法として、実際の値を丸めたい場合は表示形式ではなく必ずROUND系の関数を使い、丸めた後の値を持つセルとして計算に使いましょう。

初心者がつまずきやすいポイントとコツ

まとめ

ROUNDは四捨五入、ROUNDUPは必ず切り上げ、ROUNDDOWNは必ず切り捨てと、丸める方向がそれぞれ明確に決まっています。桁数の符号を正しく使い分ければ、小数点以下だけでなく十の位・百の位単位の丸めも自在に行えます。最も誤解が起きやすいのは、セルの表示形式による見た目の丸めと、関数による実際の値の丸めはまったくの別物だという点です。合計が1円ズレるトラブルを防ぐためにも、「見た目を整えたいのか、値そのものを丸めたいのか」を意識して使い分けましょう。数式を一から組み立てるのが不安な方は、下のツールで日本語の空欄を埋めるだけで数式を作成できます。

よくある質問

ROUNDとROUNDUP、ROUNDDOWNの結果はどう違うのですか?
ROUNDは四捨五入、ROUNDUPは端数があれば必ず切り上げ、ROUNDDOWNは端数があれば必ず切り捨てるという違いがあります。たとえば108.4を整数(桁数0)に丸める場合、ROUND(108.4,0)は四捨五入により108、ROUNDUP(108.4,0)は端数を問答無用で繰り上げて109、ROUNDDOWN(108.4,0)は端数を切り捨てて108になります。ROUNDは端数の大きさによって結果が変わりますが、ROUNDUPとROUNDDOWNは端数がどんなに小さくても必ず同じ方向に丸められる点が異なります。
セルの表示形式で小数点以下を非表示にしただけなのに、合計が1円ズレるのはなぜですか?
表示形式の変更はあくまで「見た目」を丸めているだけで、セルの中に入っている実際の値は小数点以下も含めてそのまま残っているためです。SUM関数などは表示上の丸めた数字ではなく、セルに実際に入っている値で計算するため、目に見える数字を足し算した結果と、Excelが計算した合計が食い違うことがあります。実際の値そのものを丸めたい場合は、表示形式ではなくROUND・ROUNDUP・ROUNDDOWNのいずれかの関数を使う必要があります。
ROUNDの桁数(第2引数)にマイナスの数値を指定すると何が起きますか?
桁数にマイナスの数値を指定すると、小数点以下ではなく整数部分の十の位・百の位・千の位単位で丸めることができます。たとえばROUND(12345,-2)は百の位で四捨五入して12300、ROUND(12345,-3)は千の位で四捨五入して12000になります。経営資料などで金額を千円単位・万円単位に丸めて見やすくしたい場合によく使われる指定方法です。

関連記事

→ ROUNDの数式を作ってみる ← 記事一覧に戻る