要点 —
=ROUND(number, num_digits)は格納されている値そのものを、 指定した小数桁に丸めます。セルの表示形式を小数2桁に設定しても値は変わりません。 変わるのは見た目だけで、その下にはフル桁の数値がそのまま残っています。この差こそ、 「2桁表示」にした価格の列を合計すると、合計が1円ずれてしまう原因です。num_digitsは精度を制御します。正の値=小数の桁数、0=整数、 負の値=十・百・千の位への丸めです。ROUNDUPとROUNDDOWNは、 常にゼロから遠ざける/常にゼロへ近づける兄弟関数で、その「近づく・遠ざかる」は ゼロを基準に測られます。これが負数のワナです。すべてのバージョンで動作します。
=ROUND(2.345, 2) ' -> 2.35 (小数2桁に丸める)
=ROUND(1234.5, -2) ' -> 1200 (最も近い百の位に丸める)
四捨五入は Excel で一番退屈な関数に見えますし、手入力した正の数だけを相手にする限り、 ほぼその通りです。やっかいなのは、表示のための丸めと値そのものの丸めは別の操作 であり、Excel では2つ目をやったつもりで1つ目をうっかりやってしまえる、という点です。 この区別さえはっきりさせれば、1円ずれる合計も、監査での不一致も、 「でもセルには2.35と書いてある」という押し問答も、すべて解消します。 このガイドは、その一つのメンタルモデルを軸に組み立て、そこから導かれるルールへと進みます。
なお、日本語版 Excel でも関数名は ROUND・ROUNDUP・ROUNDDOWN と英語表記のままです。
このガイドで学べること
- メンタルモデル:表示形式は桁を隠し、
ROUNDは桁を消す - 「2桁」の列でも合計がずれる理由 — そして1行で済む対処法
num_digits:正・ゼロ、そして使われていない負のケースROUNDvsROUNDUPvsROUNDDOWN— そして「アップ」が本当に意味するもの- 負数のワナ:ゼロから遠ざかること ≠ 数学的に大きくすること
- 判断のしどころ:いつ丸めるか、どれを使うか
メンタルモデル:表示形式は桁を隠し、ROUND は桁を消す
セルの中のすべての数値が、長くて本当の値と、その上にかぶせられたマスクを
別々に持っていると想像してください。小数点以下の表示桁数を減らすボタンを押したり、
通貨の表示形式を適用したりすると、変わるのはマスクだけです。セルは 2.35 と表示しますが、
その下の値は依然として 2.345678 のままです。Excel はマスクではなく、その値で計算します。
ROUND はその逆です。余分な桁を完全に捨て去り、短くなった数値を格納します。
=ROUND(2.345678, 2) のあとは、そのセルは本当に 2.35 そのものになります。
あとからそれを読み取るすべての数式にとって、です。
' どちらの場合もセルは 2.35 と表示される。しかし:
A1: 2.345678 を小数2桁に書式設定 -> SUM は 2.345678 を見る
A2: =ROUND(2.345678, 2) -> SUM は 2.35 を見る
このイメージを押さえておけば、最も悪名高い丸めのバグはおのずと説明がつきます。
1円ずれる合計:あなたを救うルール
価格の列を小数2桁に書式設定して合計すると、その合計が、表示された数値を手で足し合わせた 結果と食い違うことがあります。各セルは丸めた数字を表示しているのに、内部ではフル精度 で格納しているため、合計はそれら隠れた端数のすべてを引きずって、最後に一度だけ丸められ — 目が期待する値から1円か2円ずれた場所に着地するのです。
' 表示: 1.005 + 1.005 が 1.01 + 1.01 と表示され、合計 1.02 が期待される
' 格納: 1.005 + 1.005 = 2.01 -> 2.02 ではなく 2.01 に丸められる
=ROUND(price, 2) ' 先に各値を丸めてから SUM すれば、合計は正確になる
ルールはこうです。お金が1円単位できっちり合う必要があるなら、ビューではなく値を丸める。
各明細行を =ROUND(...,2) で丸める(あるいは会計ルール次第で最終合計を一度だけ丸める)
ことで、Excel が足し合わせる数値と人が見る数値を一致させます。ブック全体に効く
表示桁数で計算するという設定もありますが、避けてください。ファイル内のすべての値を
恒久的に切り詰めてしまい、あとで痛い目に遭います。代わりに、効かせたい特定のセルで
ROUND を使いましょう。
num_digits:正・ゼロ、そして負の小技
ROUND の力の大半は、この第2引数に隠れています。「小数を何桁残すか」だけに
とどまらないからです。
=ROUND(3.14159, 2) ' -> 3.14 正: 小数の桁数
=ROUND(3.14159, 0) ' -> 3 ゼロ: 最も近い整数
=ROUND(3.14159, 4) ' -> 3.1416 もっと小数を残す
=ROUND(1234.5, -1) ' -> 1230 負: 最も近い十の位
=ROUND(1234.5, -2) ' -> 1200 最も近い百の位
=ROUND(1234.5, -3) ' -> 1000 最も近い千の位
負の num_digits は小数点の左側を丸めるもので、ほとんど誰も知らない部分です。
給与を百円単位に、人口を千人単位に、グラフ軸をきりのよい間隔に丸めるのが、
手作業のごまかしではなく、短い数式ひとつで済みます。num_digits を数直線上の位置だと
考えてください。正は右へ歩いて小数へ入り、0 は一の位で止まり、負は左へ歩いて
十・百・千へ進みます。
ROUND vs ROUNDUP vs ROUNDDOWN
最初の2つの引数は同じで、端数処理と方向の挙動が違います。
=ROUND(2.4, 0) ' -> 2 通常の丸め: .5 未満は切り捨て、.5 以上は切り上げ
=ROUND(2.5, 0) ' -> 3
=ROUNDUP(2.1, 0) ' -> 3 常にゼロから遠ざける
=ROUNDDOWN(2.9, 0) ' -> 2 常にゼロへ近づける
ROUND は学校で習ったルールに従います。5以上は切り上げ、5未満は切り捨てです。
ROUNDUP は、次に続く桁が何であろうと常に次の桁へ押し上げます。下回ることが
許されない場面で使います(全ユニットを出荷するのに必要な箱数、切りのよい単位で
課金する分数、原価を必ず上回らねばならない価格)。ROUNDDOWN は常にゼロへ向けて
切り落とします。上回ることが許されない場面で使います(予算内で実際に買えるユニット数、
満年齢)。
負数のワナ:「アップ」はゼロから遠ざかることを意味する
ここに、誤った結果を静かに生み出す微妙な点があります。ROUNDUP と ROUNDDOWN は、
数直線の上下ではなく、ゼロからの距離で定義されています。
=ROUNDUP(-2.1, 0) ' -> -3 「アップ」= ゼロからより遠い = より小さい(負に大きい)
=ROUNDDOWN(-2.9, 0) ' -> -2 「ダウン」= ゼロへ近い = より大きい(負に小さい)
つまり ROUNDDOWN(-2.9, 0) は -2 を返します。-2 は -2.9 より数学的には大きい
にもかかわらず、です。もし本当に数学的な床(floor)と天井(ceiling) — 符号も含めて常に
マイナス無限大またはプラス無限大の方向 — が欲しいなら、それは別の関数です。
INT(真の床)と CEILING.MATH/FLOOR.MATH です。これらを取り違えるのが、
典型的な「負の数が1だけずれる」バグです。床と切り捨ての違いについては
Excel INT・TRUNC・MOD を、倍数への丸めについては
Excel MROUND・CEILING・FLOOR を参照してください。
丸めるもう一つの理由:浮動小数点のノイズ
コンピュータは小数を2進数で格納するため、正確に見える値の中にも実は正確でないものが
いくつかあります。有名な例 0.1 + 0.2 は 0.30000000000000004 に着地し、0.3 との
等価判定が、目に見える理由もなく失敗します。比較式 — あるいは格納する結果 — を ROUND
で包めば、そのノイズは正規化されて消えます。
=(0.1 + 0.2 = 0.3) ' -> FALSE (2進数の浮動小数点)
=(ROUND(0.1 + 0.2, 10) = 0.3) ' -> TRUE
これは、金額の計算結果を格納する時点で小数2桁に丸めるべき、もう一つの論拠です。 計算が「ちゃんと動く」と信じきるのではなく、です。
判断のしどころ:どの丸めを、いつ
お金や、ぴったり合わせる必要のあるあらゆる数字には、素の ROUND を使います —
表示形式ではなく値を丸めるのです。下回ることが高くつくミスになる場面では ROUNDUP
を使い(キャパシティ、出荷、切りのよい単位での課金)、上回ることがそうなる場面では
ROUNDDOWN を使います(予算、適格性、年齢)。小数の桁数ではなく倍数へ丸めるなら —
最も近い5セント、最も近い15分、パレット単位 — それは MROUND、CEILING、FLOOR
の出番です。そして、計算用にはフル精度を保ちつつ表示だけきれいにしたいだけなら、
丸めてはいけません。セルの表示形式を変えましょう。腕の見せどころは、いまやっている
仕事が「格納」「制約」「表示」のどれなのかを見極めることです。
ExcelMaster はどう役立つか
丸めのルールはたいてい平易なビジネスの言葉で語られます — 請求の各明細は円単位で丸めて、
ただし出荷カートンは常に切り上げて — そしてバグは、ほぼ必ず表示されているものと
格納されているもののミスマッチです。ExcelMaster はその意図を読み取り、正しい呼び出しを
書きます。合計を整合させねばならない所には ROUND、方向が指定されている所には
ROUNDUP/ROUNDDOWN、そしてただ見た目を整えたいだけの所には(数式ではなく)表示形式を。
あなたはルールを述べるだけ。それが、監査で1円足りなくならない操作を選びます。
よくある質問
なぜ列の合計がセルの表示と合わないのですか?
セルは小数を減らして書式設定されているだけで、依然としてフル精度で格納しているため、
合計は隠れた端数を引きずります。=ROUND(cell, 2) で値そのものを丸める(あるいは合計を
一度だけ丸める)ことで、Excel が足す数値と、あなたが見る数値を一致させましょう。
Excel で小数点以下2桁に四捨五入するには?
=ROUND(number, 2) を使います。2 が num_digits で、残す小数の桁数です。整数にするなら
0 を使います。
ROUND と ROUNDUP の違いは?
ROUND は通常の丸めに従います(.5 以上は切り上げ、未満は切り捨て)。ROUNDUP は
次の桁が何であろうと常にゼロから遠ざける方向に丸めるので、2.1 は 3 になります。
決して下回ってはいけないときに ROUNDUP を使います。
最も近い百や千に丸めるには?
負の num_digits を使います。=ROUND(1234, -2) は 1200(最も近い百)、
=ROUND(1234, -3) は 1000(最も近い千)になります。
ROUNDDOWN は負の数をゼロへ丸めますか、それとも下へ丸めますか?
ゼロへ向けてです。=ROUNDDOWN(-2.9, 0) は -3 ではなく -2 を返します。「ダウン」が
ゼロへ向かうことを意味するためです。真の数学的な床(マイナス無限大へ向かう)が欲しいなら
INT を使います。
検証環境
検証環境: Excel 365(Windows 11)— 最終確認 2026-06-27
関連ガイド: Excel MROUND・CEILING・FLOOR · Excel INT・TRUNC・MOD · Excel SUMIFS · Excel IF
