「消費税の端数は切り捨て? 四捨五入?」「勤怠表で15分単位に切り上げたいけど、CEILINGとMROUNDどっち?」。Excelの端数処理で迷った経験はありませんか。
丸め関数はROUND・ROUNDDOWN・INT・CEILINGなど種類が豊富です。どれを使えばいいか判断しにくいですよね。間違った関数を選ぶと、金額や時間の計算結果がずれてしまうことも。
この記事では、実務でよくある7つの端数処理シーンを取り上げます。シーンごとに「NGな数式」と「OKな数式」を対比しながら、正しい関数の選び方を解説します。
Excel端数処理の関数早見表【結論から】
まずは結論です。「どの場面でどの関数を使えばいいか」を一覧表にまとめました。
| やりたいこと | おすすめ関数 | 数式の例 |
|---|---|---|
| 消費税を切り捨て | ROUNDDOWN関数 | =ROUNDDOWN(A1*1.1, 0) |
| 消費税を四捨五入 | ROUND関数 | =ROUND(A1*0.1, 0) |
| 時間を15分単位に切り上げ | CEILING関数 | =CEILING(A1,"0:15") |
| 時間を15分単位に切り捨て | FLOOR関数 | =FLOOR(A1,"0:15") |
| 金額を100円単位に丸め | MROUND関数 | =MROUND(A1,100) |
| 割り算の結果を整数に | INT関数 | =INT(A1/B1) |
| 平均値を小数第1位に | ROUND関数 | =ROUND(AVERAGE(A1:A10),1) |
迷ったらこの表を見れば、使うべき関数がすぐにわかります。ここからは各シーンの詳しい使い方を解説していきます。
消費税の端数処理でミスしない関数の選び方
経理業務でもっとも頻繁に出てくる端数処理が消費税の計算です。請求書や領収書で1円単位の端数をどう処理するか、正しい関数を選びましょう。
NGな数式:INT関数で消費税を計算する
INT関数でも消費税の切り捨てはできます。ただし落とし穴があります。
=INT(999*0.1)
結果は「99」で問題ありません。しかし返品伝票のようにマイナス金額が出ると動作が変わります。
=INT(-999*0.1)
期待する結果は「-99」ですが、実際は「-100」です。INT関数は「元の値以下で最大の整数」を返すため、-99.9に対して-100を返してしまいます。ROUNDDOWNなら「-99」になります。
OKな数式:ROUNDDOWNで切り捨て
消費税の切り捨てにはROUNDDOWN関数が安全です。
=ROUNDDOWN(A1*0.1, 0)
ROUNDDOWN関数は常にゼロ方向へ丸めます。正の数でも負の数でも「端数を削る」動作になるので、マイナス伝票が混ざっても安心です。
税込金額を直接計算したい場合はこちらです。
=ROUNDDOWN(A1*1.1, 0)
TIP
消費税の端数処理は法律上、切り捨て・四捨五入・切り上げのいずれでもOKです。ただし請求書単位では切り捨てが一般的。社内ルールを確認しておきましょう。
四捨五入で処理したい場合
社内の運用ルールが四捨五入の場合はROUND関数を使います。
=ROUND(A1*0.1, 0)
ROUND関数は0.5以上を繰り上げ、0.5未満を切り捨てます。経理部門の指示に合わせて、ROUNDDOWNかROUNDかを選んでください。
時間の端数処理(15分・30分単位の切り上げ・切り捨て)
勤怠管理で「出勤時刻を15分単位に切り上げ」「残業時間を30分単位に切り捨て」といった処理が必要になることは多いですよね。ここでは時間の端数処理に最適な関数を紹介します。
NGな数式:ROUNDUPで時間を切り上げようとする
桁数指定のROUNDUP関数は、時間の切り上げには向きません。
=ROUNDUP(A1, 2)
時間データは内部的に「1日=1」の小数値です。15分は「1/96」なので、ROUNDUP関数の桁数指定では15分単位にうまく丸められません。
OKな数式:CEILINGで15分単位に切り上げ
時間を倍数単位で切り上げるにはCEILING関数がぴったりです。
=CEILING(A1, "0:15")
A1に「9:07」が入っていれば、結果は「9:15」です。基準値に「”0:15″」を指定するだけで、15分単位への切り上げが完了します。
30分単位にしたい場合は基準値を変えるだけです。
=CEILING(A1, "0:30")
FLOORで時間を切り捨てる
残業時間や作業時間を15分単位に切り捨てたい場合はFLOOR関数です。
=FLOOR(A1, "0:15")
A1に「17:43」が入っていれば、結果は「17:30」です。CEILING関数とペアで覚えておくと便利ですよ。
NOTE
CEILING/FLOOR関数で時間を扱うとき、セルの表示形式を「h:mm」にしておかないと小数値で表示されます。結果セルの表示形式を忘れずに設定してください。
金額の端数処理(100円・1000円単位に丸める)
見積書や予算資料で「100円単位に丸めたい」「千円単位で表示したい」という場面も多いです。金額の丸めに最適な関数を見ていきましょう。
NGな数式:ROUND関数の桁数指定で100円単位に丸める
ROUND関数でも100円単位の丸めはできます。ただし桁数の指定が直感的ではありません。
=ROUND(12340, -2)
結果は「12300」で正しいのですが、「-2って何だっけ?」と毎回考える必要がありますよね。
OKな数式:MROUNDで100円単位に四捨五入
倍数指定のMROUND関数なら、意図が明確です。
=MROUND(12340, 100)
結果は「12300」です。12340を100の倍数で四捨五入するので、50未満の端数(40)は切り捨てられます。
=MROUND(12360, 100)
こちらは「12400」です。端数が60なので切り上がります。
金額を常に切り捨て・切り上げしたい場合
四捨五入ではなく、常に切り捨て・切り上げにしたいときは次のように使い分けます。
| 処理方法 | 関数 | 数式例 | 12340の結果 |
|---|---|---|---|
| 100円単位で切り捨て | FLOOR | =FLOOR(12340,100) | 12300 |
| 100円単位で切り上げ | CEILING | =CEILING(12340,100) | 12400 |
| 1000円単位で切り捨て | FLOOR | =FLOOR(12340,1000) | 12000 |
| 1000円単位で切り上げ | CEILING | =CEILING(12340,1000) | 13000 |
倍数単位の丸めでは、この3関数をセットで覚えましょう。MROUND(四捨五入)・FLOOR(切り捨て)・CEILING(切り上げ)です。
割り算の端数処理(人数で均等割り・個数計算)
「10個を3人で分けると何個ずつ?」「何箱必要?」など、割り算で端数が出る場面は日常的にあります。
整数部分だけ取り出す:INT関数
1人あたりの配分数(端数なし)を求めるにはINT関数がシンプルです。
=INT(10/3)
結果は「3」です。10を3で割った結果3.333…の整数部分だけが返ります。
余りが必要ならMOD関数と組み合わせます。
=MOD(10,3)
結果は「1」で、これが余りの個数です。
必要箱数を求める:ROUNDUP関数
「20個の商品を6個入りの箱に入れると何箱必要か」のように、端数が出たら切り上げたい場面もあります。
=ROUNDUP(20/6, 0)
結果は「4」です。20/6=3.33…を切り上げて4箱になります。CEILING関数でも同じ結果が得られます。
=CEILING(20/6, 1)
桁数で指定するならROUNDUP、倍数で指定するならCEILINGです。どちらでもOKですが、整数への切り上げならROUNDUPのほうがシンプルです。
平均値・計算結果の端数処理(小数を丸める)
テストの平均点や単価計算など、計算結果の小数桁を揃えたい場面はよくありますよね。
ROUND関数で小数第1位に丸める
もっとも基本的な使い方です。
=ROUND(AVERAGE(A1:A10), 1)
AVERAGE関数の結果を小数第1位で四捨五入します。第2引数の「1」が「小数第1位まで残す」という意味です。
表示形式との違いに要注意
セルの表示形式を「小数第1位」に設定しても、セルの中身は元の小数のまま残ります。
| 方法 | 見た目 | セルの中身 | 後続の計算 |
|---|---|---|---|
| 表示形式で小数1桁 | 78.6 | 78.5666… | 元の値で計算 |
| ROUND関数で丸め | 78.6 | 78.6 | 丸めた値で計算 |
合計値が合わなくなるトラブルの多くは、表示形式だけで丸めていることが原因です。後続の計算にも丸めた値を使いたい場合は、必ずROUND関数で値そのものを丸めてください。
丸め関数8種の機能比較
Excelの丸め関数は全部で8種類あります。それぞれの特徴を一覧表にまとめました。
| 関数 | 処理方法 | 指定方式 | 数式の例 | 結果 |
|---|---|---|---|---|
| ROUND | 四捨五入 | 桁数 | =ROUND(1234.5,0) | 1235 |
| ROUNDDOWN | 切り捨て | 桁数 | =ROUNDDOWN(1234.9,0) | 1234 |
| ROUNDUP | 切り上げ | 桁数 | =ROUNDUP(1234.1,0) | 1235 |
| INT | 切り捨て(整数) | なし | =INT(1234.9) | 1234 |
| TRUNC | 切り捨て | 桁数 | =TRUNC(1234.9,0) | 1234 |
| MROUND | 四捨五入 | 倍数 | =MROUND(1230,100) | 1200 |
| FLOOR | 切り捨て | 倍数 | =FLOOR(1280,100) | 1200 |
| CEILING | 切り上げ | 倍数 | =CEILING(1210,100) | 1300 |
大きく分けると2系統あります。「桁数指定グループ(ROUND系+INT+TRUNC)」と「倍数指定グループ(MROUND+FLOOR+CEILING)」です。
- 桁数で丸めたい(小数第2位、10の位など)→ ROUND / ROUNDDOWN / ROUNDUP
- 倍数で丸めたい(100円単位、15分刻みなど)→ MROUND / FLOOR / CEILING
- とにかく整数にしたい → INT または TRUNC
TIP
INT関数とTRUNC関数は正の数では同じ結果になります。違いが出るのは負の数のときです。INT(-2.3)は「-3」、TRUNC(-2.3)は「-2」を返します。マイナスの値を扱う可能性があるなら、動作の違いを意識しておきましょう。詳しくはINT関数の使い方をご覧ください。
まとめ
この記事では、実務でよくある端数処理シーンごとに最適な丸め関数を紹介しました。最後にポイントを振り返ります。
- 消費税の切り捨て → ROUNDDOWN関数(ゼロ方向に丸めるので安全)
- 時間の15分・30分単位処理 → CEILING(切り上げ)/ FLOOR(切り捨て)
- 金額の100円・1000円単位処理 → MROUND(四捨五入)/ FLOOR / CEILING
- 割り算の整数化 → INT(切り捨て)/ ROUNDUP(切り上げ)
- 平均値の桁揃え → ROUND関数(表示形式ではなく値を丸める)
関数の選び方で迷ったら、冒頭の早見表に戻ってみてください。「桁数か倍数か」「切り捨て・四捨五入・切り上げのどれか」。この2つを決めれば、使うべき関数は1つに絞れます。
各関数の詳しい使い方は、個別記事で解説しています。気になる関数があれば、ぜひチェックしてみてくださいね。
FLOOR/CEILING系の新旧6関数(MATH・PRECISE)の違いを知りたい方は「FLOOR/CEILING系6関数の違い|MATH・PRECISEの使い分け」もあわせてどうぞ。丸め関数10種の全体像は「Excelの丸め関数10種を完全比較」で確認できます。
