Excelで端数処理をしたいとき、「どの関数を使えばいいの?」と迷ったことはありませんか。
丸め関数は全部で10種類もあります。名前が似ていて、動きの違いがわかりにくいですよね。間違った関数を選ぶと、計算がずれることも。
この記事では、10個の丸め関数を3つの比較軸で整理します。実務シーン別の選び方も用意したので、もう迷いませんよ。
Excel丸め関数10種の使い分け早見表【結論から】
まずは結論です。10関数の役割を一覧表にまとめました。
| 関数名 | 丸め方向 | 基準単位 | 代表的な使いどころ | |
|---|---|---|---|---|
| [[2022-04-18-excel-function-howto-use-round | ROUND]] | 四捨五入 | 桁数で指定 | 小数の四捨五入全般 |
| [[2022-04-20-excel-function-howto-use-roundup | ROUNDUP]] | 切り上げ | 桁数で指定 | 見積もりの安全側丸め |
| [[2022-04-19-excel-function-howto-use-rounddown | ROUNDDOWN]] | 切り捨て | 桁数で指定 | 消費税の切り捨て |
| [[2022-04-21-excel-function-howto-use-mround | MROUND]] | 四捨五入 | 倍数で指定 | 50円・100円単位の丸め |
| [[2022-04-22-excel-function-howto-use-floor | FLOOR]] | 切り捨て | 倍数で指定 | 時間の切り捨て(15分単位) |
| [[2022-04-23-excel-function-howto-use-ceiling | CEILING]] | 切り上げ | 倍数で指定 | 時間の切り上げ(30分単位) |
| [[2022-07-01-excel-function-howto-use-int | INT]] | 切り捨て | 整数(1の位) | 割り算の整数部分だけ取得 |
| [[2022-09-23-excel-function-howto-use-trunc | TRUNC]] | 切り捨て | 桁数で指定 | 小数部分を削除 |
| [[2022-05-03-excel-function-howto-use-odd | ODD]] | 切り上げ | 奇数 | ペアリング・奇数枠の確保 |
| [[2022-05-04-excel-function-howto-use-even | EVEN]] | 切り上げ | 偶数 | 梱包・偶数枠の確保 |
「場面別の選び方が知りたい」という方は「#実務シーン別の丸め関数選びフローチャート」へどうぞ。
ペア記事のご案内
「シーン別にNG数式とOK数式を並べて比較したい」という方は、ペア記事の「Excel端数処理の関数選び|消費税・時間・金額のシーン別早見表」もあわせてどうぞ。
丸め関数を「丸め方向」で分類する
10関数は「四捨五入」「切り捨て」「切り上げ」の3グループに分かれます。まずはこのグループ分けを押さえましょう。
四捨五入グループ(ROUND・MROUND)
端数が0.5以上なら繰り上げ、0.5未満なら切り捨てるグループです。
| 関数 | 構文 | 基準単位 | |
|---|---|---|---|
| [[2022-04-18-excel-function-howto-use-round | ROUND]] | =ROUND(数値, 桁数) | 桁数(0=整数、1=小数第1位…) |
| [[2022-04-21-excel-function-howto-use-mround | MROUND]] | =MROUND(数値, 倍数) | 倍数(50、100、0.5など) |
ROUNDは桁数で、MROUNDは倍数で指定します。「小数第2位で四捨五入」ならROUND。「50円単位」ならMROUNDです。
=ROUND(1234.567, 1)
結果: 1234.6(小数第2位を四捨五入)
=MROUND(1234.567, 50)
結果: 1250(50の倍数に四捨五入)
切り捨てグループ(ROUNDDOWN・INT・TRUNC・FLOOR)
端数を問答無用で落とすグループです。4つもあるので、違いを整理します。
| 関数 | 構文 | 基準単位 | 特徴 | |
|---|---|---|---|---|
| [[2022-04-19-excel-function-howto-use-rounddown | ROUNDDOWN]] | =ROUNDDOWN(数値, 桁数) | 桁数 | 桁指定で切り捨て |
| [[2022-07-01-excel-function-howto-use-int | INT]] | =INT(数値) | 整数(1の位) | 引数が1つだけ |
| [[2022-09-23-excel-function-howto-use-trunc | TRUNC]] | =TRUNC(数値, 桁数) | 桁数(省略時0) | 桁指定で小数部削除 |
| [[2022-04-22-excel-function-howto-use-floor | FLOOR]] | =FLOOR(数値, 基準値) | 倍数 | 倍数指定で切り捨て |
ROUNDDOWNとTRUNCは同じに見えますよね。正の数では実際に同じ結果です。ただし負の数では異なります。「#負の数での挙動を比較する」で解説します。
=ROUNDDOWN(3.75, 0)
結果: 3
=INT(3.75)
結果: 3
=TRUNC(3.75)
結果: 3
=FLOOR(3.75, 0.5)
結果: 3.5(0.5の倍数に切り捨て)
切り上げグループ(ROUNDUP・CEILING・ODD・EVEN)
端数がある限り繰り上げるグループです。
| 関数 | 構文 | 基準単位 | 特徴 | |
|---|---|---|---|---|
| [[2022-04-20-excel-function-howto-use-roundup | ROUNDUP]] | =ROUNDUP(数値, 桁数) | 桁数 | 桁指定で切り上げ |
| [[2022-04-23-excel-function-howto-use-ceiling | CEILING]] | =CEILING(数値, 基準値) | 倍数 | 倍数指定で切り上げ |
| [[2022-05-03-excel-function-howto-use-odd | ODD]] | =ODD(数値) | 奇数 | 最も近い奇数に切り上げ |
| [[2022-05-04-excel-function-howto-use-even | EVEN]] | =EVEN(数値) | 偶数 | 最も近い偶数に切り上げ |
ROUNDUPとCEILINGの関係は、ROUNDDOWNとFLOORと同じです。桁数ならROUNDUP、倍数ならCEILINGです。
=ROUNDUP(3.21, 0)
結果: 4
=CEILING(3.21, 0.5)
結果: 3.5(0.5の倍数に切り上げ)
=ODD(4)
結果: 5(次の奇数に切り上げ)
=EVEN(3)
結果: 4(次の偶数に切り上げ)
丸め関数10種の詳細比較
ここからは、10関数の違いをさらに掘り下げます。
基準単位の指定方法を比較する
丸め関数の違いで最も大きいのは「基準単位の指定方法」です。
| 指定方法 | 対応関数 | 指定例 |
|---|---|---|
| 桁数(小数点からの位置) | ROUND / ROUNDUP / ROUNDDOWN / TRUNC | 桁数0=整数、1=小数第1位 |
| 倍数(任意の数値の倍数) | MROUND / FLOOR / CEILING | 基準値50=50の倍数 |
| 固定(引数不要・自動決定) | INT / ODD / EVEN | INTは常に整数、ODD/EVENは奇偶 |
桁数指定は「何桁目で丸めるか」を数字で指定します。倍数指定は「何の倍数に丸めるか」を直接指定します。
「100円単位で丸めたい」場合を考えてみましょう。桁数指定なら =ROUNDDOWN(数値, -2) です。倍数指定なら =FLOOR(数値, 100) と書けます。
桁数指定のマイナスが苦手な方へ
桁数の正負が紛らわしい場合は、FLOOR/CEILINGの倍数指定を使うと直感的です。
=FLOOR(数値, 100)は「100の倍数に切り捨て」と読めるので、数式の意味が伝わりやすくなります。
丸め方向の違いを一覧で確認する
同じ数値 3.75 を各関数に渡したときの結果を比較します。
| 関数 | 数式 | 結果 | 丸め方向 |
|---|---|---|---|
| ROUND | =ROUND(3.75, 0) | 4 | 四捨五入 |
| ROUNDUP | =ROUNDUP(3.75, 0) | 4 | 切り上げ |
| ROUNDDOWN | =ROUNDDOWN(3.75, 0) | 3 | 切り捨て |
| INT | =INT(3.75) | 3 | 切り捨て |
| TRUNC | =TRUNC(3.75, 0) | 3 | 切り捨て |
| ODD | =ODD(3.75) | 5 | 奇数に切り上げ |
| EVEN | =EVEN(3.75) | 4 | 偶数に切り上げ |
MROUND / FLOOR / CEILINGは基準値が必要です。基準値1の例で確認します。
| 関数 | 数式 | 結果 | 丸め方向 |
|---|---|---|---|
| MROUND | =MROUND(3.75, 1) | 4 | 倍数で四捨五入 |
| FLOOR | =FLOOR(3.75, 1) | 3 | 倍数で切り捨て |
| CEILING | =CEILING(3.75, 1) | 4 | 倍数で切り上げ |
負の数での挙動を比較する
負の数を扱うときに、関数ごとの結果が大きく分かれます。-3.75 を各関数に渡した結果を見てみましょう。
| 関数 | 数式 | 結果 | 解説 |
|---|---|---|---|
| ROUND | =ROUND(-3.75, 0) | -4 | 0から遠い方に四捨五入 |
| ROUNDUP | =ROUNDUP(-3.75, 0) | -4 | 0から遠い方に切り上げ |
| ROUNDDOWN | =ROUNDDOWN(-3.75, 0) | -3 | 0に近い方に切り捨て |
| INT | =INT(-3.75) | -4 | 負の無限大方向に切り捨て |
| TRUNC | =TRUNC(-3.75, 0) | -3 | 0方向に切り捨て |
| ODD | =ODD(-3.75) | -5 | 0から遠い奇数に切り上げ |
| EVEN | =EVEN(-3.75) | -4 | 0から遠い偶数に切り上げ |
INTとTRUNCの最大の違い
正の数では
INT(3.75)もTRUNC(3.75)も結果は3で同じです。しかし負の数では、INTは「数直線の左方向(負の無限大方向)」に丸めるのに対し、TRUNCは「0方向」に丸めます。この違いを知らないと、返品処理や差額計算で予想外の結果になることがあります。
| 関数 | 数式 | 結果 | 解説 |
|---|---|---|---|
| FLOOR | =FLOOR(-3.75, -1) | -4 | 負の無限大方向に切り捨て |
| CEILING | =CEILING(-3.75, -1) | -3 | 0方向に切り上げ |
| MROUND | =MROUND(-3.75, -1) | -4 | 0から遠い方に四捨五入 |
FLOOR/CEILINGで負の数を扱うときは基準値も負にします。正の基準値だと #NUM! エラーになります。
FLOOR.MATH / CEILING.MATHなら符号を気にせず使えます
旧FLOOR/CEILINGには「負の数で符号を揃える」制約があります。後継関数のFLOOR.MATH / CEILING.MATHなら、この制約がなくなり負の数も自由に扱えます。詳しくは「FLOOR/CEILING系6関数の違い|MATH・PRECISEの使い分け」をご覧ください。
実務シーン別の丸め関数選びフローチャート
「理屈はわかったけど、結局どれを使えばいいの?」という方へ。実務でよくある5つのシーンごとに、最適な関数を紹介します。
シーン1: 消費税計算
消費税の端数処理は企業やシステムによって「切り捨て」「四捨五入」「切り上げ」のいずれかがルールで決まっています。
| ルール | おすすめ関数 | 数式例 | |
|---|---|---|---|
| 切り捨て | [[2022-04-19-excel-function-howto-use-rounddown | ROUNDDOWN]] | =ROUNDDOWN(A1*0.1, 0) |
| 四捨五入 | [[2022-04-18-excel-function-howto-use-round | ROUND]] | =ROUND(A1*0.1, 0) |
| 切り上げ | [[2022-04-20-excel-function-howto-use-roundup | ROUNDUP]] | =ROUNDUP(A1*0.1, 0) |
INTではなくROUNDDOWNを使う理由
=INT(A1*0.1)でも正の数なら結果は同じです。しかし、返品や値引きで税額が負になるケースではINTとROUNDDOWNの結果がずれます。消費税計算にはROUNDDOWNを使うのが安全です。
消費税計算の「NG数式とOK数式」を比較したい方は「Excel端数処理の関数選び」のシーン1をご覧ください。
シーン2: 時間(勤怠)の丸め
勤怠管理では「15分単位」「30分単位」で時間を丸めるケースが多いです。
| やりたいこと | おすすめ関数 | 数式例 | |
|---|---|---|---|
| 15分単位に切り上げ | [[2022-04-23-excel-function-howto-use-ceiling | CEILING]] | =CEILING(A1,"0:15") |
| 15分単位に切り捨て | [[2022-04-22-excel-function-howto-use-floor | FLOOR]] | =FLOOR(A1,"0:15") |
| 30分単位に四捨五入 | [[2022-04-21-excel-function-howto-use-mround | MROUND]] | =MROUND(A1,"0:30") |
時間の丸めにはCEILING・FLOOR・MROUNDが最適です。「15分単位」のような倍数指定に対応しています。
時間の基準値はダブルクォーテーションで囲む
時間値を基準にする場合は
"0:15"のようにダブルクォーテーションで囲みます。0:15をそのまま入力すると、Excelが数式と認識してエラーになることがあります。
シーン3: 金額の端数処理
請求書や見積書で「100円単位」「1,000円単位」に金額を丸めたい場面です。
| やりたいこと | おすすめ関数 | 数式例 | |
|---|---|---|---|
| 100円未満を切り捨て | [[2022-04-22-excel-function-howto-use-floor | FLOOR]] | =FLOOR(A1, 100) |
| 100円未満を切り上げ | [[2022-04-23-excel-function-howto-use-ceiling | CEILING]] | =CEILING(A1, 100) |
| 100円単位に四捨五入 | [[2022-04-21-excel-function-howto-use-mround | MROUND]] | =MROUND(A1, 100) |
| 1,000円未満を切り捨て | [[2022-04-19-excel-function-howto-use-rounddown | ROUNDDOWN]] | =ROUNDDOWN(A1, -3) |
FLOOR/CEILING/MROUNDなら基準値を直接指定できます。ROUNDDOWNの 桁数=-3 でも同じ結果です。チームで共有するなら読みやすいほうを選んでください。
シーン4: 在庫・発注の個数計算
「必要数を12個入りケース単位に切り上げたい」「余りは不要だから切り捨てたい」という場面です。
| やりたいこと | おすすめ関数 | 数式例 | |
|---|---|---|---|
| ケース数を切り上げ | [[2022-04-23-excel-function-howto-use-ceiling | CEILING]] | =CEILING(A1, 12) |
| ケース数を切り捨て | [[2022-04-22-excel-function-howto-use-floor | FLOOR]] | =FLOOR(A1, 12) |
| 割り算の整数部分のみ | [[2022-07-01-excel-function-howto-use-int | INT]] | =INT(A1/12) |
=CEILING(25, 12) は 36(3ケース分)です。=FLOOR(25, 12) なら 24(2ケース分)です。
=INT(25/12) は 2(ケース数)を返します。「何ケース必要か」を求めるときに便利です。
シーン5: 統計・集計データの桁そろえ
平均値や割合を表示するとき、小数の桁数を統一したい場面です。
| やりたいこと | おすすめ関数 | 数式例 | |
|---|---|---|---|
| 小数第1位に四捨五入 | [[2022-04-18-excel-function-howto-use-round | ROUND]] | =ROUND(AVERAGE(A1:A10), 1) |
| 小数部分を削除 | [[2022-09-23-excel-function-howto-use-trunc | TRUNC]] | =TRUNC(A1/B1) |
| 整数に切り捨て | [[2022-07-01-excel-function-howto-use-int | INT]] | =INT(A1/B1) |
桁数を指定して丸めるならROUNDが定番です。TRUNCとINTは整数に丸めたいとき手軽に使えます。
表示上の桁数と計算結果の桁数は別
セルの書式設定で小数点以下の桁数を変えても、計算に使われる値は変わりません。計算結果そのものを丸めるには、ROUND関数を使って数値自体を変換してください。
丸め関数で迷ったときのQ&A
Q1. ROUNDDOWNとINTは何が違うの?
正の数ではどちらも同じ結果を返します。違いは負の数だけです。
=ROUNDDOWN(-3.75, 0)→-3(0に近づく方向)=INT(-3.75)→-4(負の無限大方向)
消費税計算など、負の数が出る可能性がある場面ではROUNDDOWNを使うのが安全です。
Q2. ROUNDDOWNとTRUNCは何が違うの?
この2つは正の数でも負の数でも同じ結果を返します。どちらも「0方向に丸める」動作です。
違いは引数の仕様です。TRUNCは桁数を省略でき、省略時は整数に丸めます。ROUNDDOWNは桁数が必須です。
| 比較項目 | ROUNDDOWN | TRUNC |
|---|---|---|
| 桁数の省略 | 不可(必須) | 可能(省略時は0) |
| 丸め方向 | 0方向に切り捨て | 0方向に切り捨て |
| 結果の違い | なし | なし |
Q3. FLOORとCEILINGはどう使い分ける?
FLOORは「指定した倍数に切り捨て」、CEILINGは「指定した倍数に切り上げ」です。
- 出勤時刻(遅刻側は切り上げ) → CEILING
- 退勤時刻(早退側は切り捨て) → FLOOR
勤怠処理では「会社に不利にならない方向」で丸めるのが一般的です。
Q4. ODD関数・EVEN関数はどんなときに使う?
正直なところ、出番は多くありません。ただし以下のような場面では便利です。
- ODD: 会議室のペアリングで「必ず奇数人」を確保したいとき
- EVEN: 梱包で「必ず偶数個」にそろえたいとき
通常の端数処理ではROUND系やCEILING/FLOORで十分です。ODD/EVENは奇偶にそろえたい場面限定です。
Q5. MROUND・FLOOR・CEILINGの使い分けは?
3つとも「倍数指定で丸める」関数ですが、丸め方向が異なります。
| 関数 | 丸め方向 | =関数(7, 5) の結果 |
|---|---|---|
| MROUND | 四捨五入 | 5 |
| FLOOR | 切り捨て | 5 |
| CEILING | 切り上げ | 10 |
「7を5の倍数で丸める」と、MROUNDとFLOORは5を返します。CEILINGは10です。丸め方向で選んでください。
まとめ
Excelの丸め関数10種の使い分けを整理しました。最後にポイントをおさらいします。
| 分類 | 関数 | ひと言まとめ |
|---|---|---|
| 四捨五入 | ROUND / MROUND | 桁数ならROUND、倍数ならMROUND |
| 切り捨て | ROUNDDOWN / INT / TRUNC / FLOOR | 桁数ならROUNDDOWN、倍数ならFLOOR。INTとTRUNCは整数丸め向き |
| 切り上げ | ROUNDUP / CEILING / ODD / EVEN | 桁数ならROUNDUP、倍数ならCEILING。ODD/EVENは奇偶限定 |
迷ったときは次の3ステップで判断してみてください。
- 丸め方向を決める: 四捨五入? 切り捨て? 切り上げ?
- 基準単位を決める: 桁数指定? 倍数指定? 整数固定?
- 負の数の可能性を確認する: ありえるならINTは避けてROUNDDOWN
各関数の詳しい使い方は、以下の個別記事で解説しています。
- ROUND関数の使い方
- ROUNDUP関数の使い方
- ROUNDDOWN関数の使い方
- MROUND関数の使い方
- FLOOR関数の使い方
- CEILING関数の使い方
- INT関数の使い方
- TRUNC関数の使い方
- ODD関数の使い方
- EVEN関数の使い方
実務シーンでの具体的な選び方は「Excel端数処理の関数選び」もあわせてどうぞ。FLOOR/CEILING系の新旧6関数の違いは「FLOOR/CEILING系6関数の違い|MATH・PRECISEの使い分け」で詳しく比較しています。
