- 技術 💻
Excel四捨五入・切り捨て・切り上げ関数一覧|ROUNDほか9種の違い
Excelで数値を丸める関数は、四捨五入のROUND、切り上げのROUNDUP、切り捨てのROUNDDOWNが基本で、桁数は「正で小数側、0で整数、負で10の位以上」です。 これに INT・TRUNC・MROUND・CEILING.MATH・FLOOR.MATH・EVEN・ODD を加えた合計10関数(ROUNDとほか9種)を覚えると、500円単位や15分単位の丸めまで数式1つで書けます。
この記事では、10関数を同じ入力値(2.5、-2.5、1234.567 など)で横並びにした結果表を載せ、負の数で結果が分かれる関数、表示形式との違い、小数誤差の扱いまでを、コピーして確かめられる数式で説明します。
確認環境:LibreOffice Calc 24.2.7.2(ヘッドレス実行、確認日 2026-10-05)。この記事の「計算結果」は、すべて Calc で数式を計算させた値です。Excel と Calc で動きが分かれる箇所は、Microsoft サポートの関数ページの記載を出典つきで示しています。
この記事の結論
- 四捨五入は ROUND、切り上げは ROUNDUP、切り捨ては ROUNDDOWN。3つとも書式は「(数値, 桁数)」で共通です。
- 桁数は、正で小数側、0で整数、負で10の位以上。
=ROUND(1234.567,-2)は 1200 になります。 - 負の数で結果が変わるのは INT と FLOOR.MATH(小さい方向へ)、CEILING.MATH(大きい方向へ)。TRUNC と ROUNDDOWN は符号に関係なく 0 に近づけます。
- 500円単位・15分単位・12個入りの箱など「倍数」で丸めるなら MROUND・CEILING.MATH・FLOOR.MATH。
- 表示形式で桁を減らしても、計算に使われるのは元の値。計算に使う値を丸めたいときは関数で丸めます。
丸め関数10種の早見表
| 関数 | 書式 | 動き | 2.5 | -2.5 |
|---|---|---|---|---|
| ROUND | =ROUND(数値,桁数) |
四捨五入 | 3 | -3 |
| ROUNDUP | =ROUNDUP(数値,桁数) |
0 から遠い方へ切り上げ | 3 | -3 |
| ROUNDDOWN | =ROUNDDOWN(数値,桁数) |
0 に近い方へ切り捨て | 2 | -2 |
| INT | =INT(数値) |
その数以下でいちばん近い整数 | 2 | -3 |
| TRUNC | =TRUNC(数値,[桁数]) |
指定した桁より下を取り除く | 2 | -2 |
| MROUND | =MROUND(数値,倍数) |
いちばん近い倍数へ | 3(倍数1) | -3(倍数-1) |
| CEILING.MATH | =CEILING.MATH(数値,[基準値],[モード]) |
基準値の倍数へ切り上げ | 3 | -2 |
| FLOOR.MATH | =FLOOR.MATH(数値,[基準値],[モード]) |
基準値の倍数へ切り捨て | 2 | -3 |
| EVEN | =EVEN(数値) |
0 から遠い方の偶数へ | 4 | -4 |
| ODD | =ODD(数値) |
0 から遠い方の奇数へ | 3 | -3 |
桁数の早見表(1234.567 を丸めた結果)
| 桁数 | 丸める位置 | =ROUND(1234.567,桁数) |
=ROUNDUP(1234.567,桁数) |
=ROUNDDOWN(1234.567,桁数) |
|---|---|---|---|---|
| 2 | 小数第2位まで残す | 1234.57 | 1234.57 | 1234.56 |
| 1 | 小数第1位まで残す | 1234.6 | 1234.6 | 1234.5 |
| 0 | 整数にする | 1235 | 1235 | 1234 |
| -1 | 10 の位まで残す | 1230 | 1240 | 1230 |
| -2 | 100 の位まで残す | 1200 | 1300 | 1200 |
| -3 | 1000 の位まで残す | 1000 | 2000 | 1000 |
桁数は「小数点から右へ何桁残すか」と覚えると、正・0・負のすべてが1つの考え方でつながります。TRUNC の桁数も同じ数え方で、=TRUNC(1234.567,2) は 1234.56、=TRUNC(1234.567,-2) は 1200 です。
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「Excel四捨五入・切り捨て・切り上げ関数一覧|ROUNDほか9種の違い」
同じ入力値で10関数を横並びにした結果表
A列に入力値を置き、B列以降に各関数を並べて計算させた結果です。MROUND は倍数を 1(負の数では -1)にして、整数への丸めでそろえています。
| 入力値 | ROUND | ROUNDUP | ROUNDDOWN | INT | TRUNC | MROUND | CEILING.MATH | FLOOR.MATH | EVEN | ODD |
|---|---|---|---|---|---|---|---|---|---|---|
| 2.5 | 3 | 3 | 2 | 2 | 2 | 3 | 3 | 2 | 4 | 3 |
| -2.5 | -3 | -3 | -2 | -3 | -2 | -3 | -2 | -3 | -4 | -3 |
| 2.4 | 2 | 3 | 2 | 2 | 2 | 2 | 3 | 2 | 4 | 3 |
| -2.4 | -2 | -3 | -2 | -3 | -2 | -2 | -2 | -3 | -4 | -3 |
| 1234.567 | 1235 | 1235 | 1234 | 1234 | 1234 | 1235 | 1235 | 1234 | 1236 | 1235 |
| -1234.567 | -1235 | -1235 | -1234 | -1235 | -1234 | -1235 | -1234 | -1235 | -1236 | -1235 |
表計算ソフトに貼って確かめるときは、A2 に入力値を入れ、次の数式を B2 から右へ並べます。
=ROUND(A2,0)
=ROUNDUP(A2,0)
=ROUNDDOWN(A2,0)
=INT(A2)
=TRUNC(A2)
=MROUND(A2,SIGN(A2)*1)
=CEILING.MATH(A2)
=FLOOR.MATH(A2)
=EVEN(A2)
=ODD(A2)
この表から読み取れることは3つです。
- 正の数では、ROUNDDOWN・INT・TRUNC・FLOOR.MATH が同じ結果になります。
- 負の数では、「0 に近づける組」(ROUNDDOWN・TRUNC・CEILING.MATH)と「小さい方へ進める組」(INT・FLOOR.MATH)に分かれます。
- ROUND と ROUNDUP は符号を外した大きさで考え、最後に符号を戻した結果になります(-2.5 の四捨五入は -3)。
ROUND・ROUNDUP・ROUNDDOWNの違い
3関数は引数が同じで、違うのは丸める方向だけです。
| 関数 | 方向 | (3.14159,3) |
(-3.14159,1) |
(31415.92654,-2) |
|---|---|---|---|---|
| ROUND | 四捨五入 | 3.142 | -3.1 | 31400 |
| ROUNDUP | 0 から遠い方へ | 3.142 | -3.2 | 31500 |
| ROUNDDOWN | 0 に近い方へ | 3.141 | -3.1 | 31400 |
Microsoft サポートの ROUND 関数のページでは、桁数が 0 より大きいと小数点以下の指定した桁数に、0 だといちばん近い整数に、0 より小さいと小数点の左側で丸めると説明されています。同じページで、常に切り上げるなら ROUNDUP、常に切り捨てるなら ROUNDDOWN、特定の倍数に丸めるなら MROUND を使うよう案内されています。
桁数は省略せずに書くのがおすすめです。Excel の ROUND・ROUNDUP・ROUNDDOWN は桁数が必須の引数なので、整数にしたいときも =ROUND(A2,0) と 0 を書きます。
INT・TRUNC・ROUNDDOWNは負の数で結果が変わる
整数にする3関数は、正の数だけを扱ううちは同じ結果になり、負の数が混ざると差が出ます。
| 数式 | 計算結果 | 考え方 |
|---|---|---|
=INT(-2.5) |
-3 | -2.5 以下でいちばん近い整数 |
=TRUNC(-2.5) |
-2 | 小数部分を取り除く |
=ROUNDDOWN(-2.5,0) |
-2 | 0 に近い方へ |
=INT(-1985*0.1) |
-199 | -198.5 以下の整数 |
=TRUNC(-1985*0.1) |
-198 | 小数部分を取り除く |
=ROUNDDOWN(-1985*0.1,0) |
-198 | 0 に近い方へ |
=INT(-1234.567/100)*100 |
-1300 | 100 単位でも同じ差が出る |
=ROUNDDOWN(-1234.567,-2) |
-1200 | 0 に近い方へ |
Microsoft サポートの TRUNC 関数のページにも、TRUNC(-4.3) は -4 を返し、INT(-4.3) は -5 を返すと書かれています。INT 関数のページでは、負の数を切り捨てると 0 から遠い方へ丸められると説明されています。
返品や値引きのようにマイナスの金額が入る列では、TRUNC か ROUNDDOWN を使うと、プラスとマイナスで同じ大きさの端数処理になります。INT を使うと、+198.5 は 198、-198.5 は -199 となり、1 だけ大きさがずれます。
小数部分だけを取り出す場合も、関数で結果が変わります。A2 が -2.5 のとき、=A2-INT(A2) は 0.5、=A2-TRUNC(A2) は -0.5 でした。
倍数で丸めるMROUND・CEILING.MATH・FLOOR.MATH
「500 単位」「15分単位」「12個入り」のように、10 のべき乗以外の単位で丸めるときに使う3関数です。
| 関数 | 方向 | 1234 を 500 単位 | 1250 を 500 単位 | 1730 を 500 単位 |
|---|---|---|---|---|
=MROUND(数値,500) |
いちばん近い倍数 | 1000 | 1500 | 1500 |
=CEILING.MATH(数値,500) |
切り上げ | 1500 | 1500 | 2000 |
=FLOOR.MATH(数値,500) |
切り捨て | 1000 | 1000 | 1500 |
ROUND 系だけで同じ結果を出すこともできます。=ROUND(1234/500,0)*500 は 1000、=ROUNDUP(1234/500,0)*500 は 1500、=ROUNDDOWN(1234/500,0)*500 は 1000 で、上の表と一致しました。
負の数とモード引数
CEILING.MATH と FLOOR.MATH は、3つ目の引数(モード)で負の数の丸め方向を切り替えられます。
| 数式 | 計算結果 | 説明 |
|---|---|---|
=CEILING.MATH(-2.5,2) |
-2 | 既定では 0 に近い方(大きい方)へ |
=CEILING.MATH(-2.5,2,1) |
-4 | モードを指定すると 0 から遠い方へ |
=FLOOR.MATH(-2.5,2) |
-4 | 既定では 0 から遠い方(小さい方)へ |
=FLOOR.MATH(-2.5,2,1) |
-2 | モードを指定すると 0 に近い方へ |
=CEILING.MATH(-1234,500) |
-1000 | 既定 |
=FLOOR.MATH(-1234,500) |
-1500 | 既定 |
Microsoft サポートの使用例でも、=CEILING.MATH(-8.1,2) は -8、=CEILING.MATH(-5.5,2,-1) は -6、=FLOOR.MATH(-8.1,2) は -10、=FLOOR.MATH(-5.5,2,-1) は -4 と示されています。
MROUNDは数値と倍数の符号をそろえる
Microsoft サポートの MROUND 関数のページには、数値と倍数は同じ符号にする必要があり、そろっていないと #NUM! エラーが返されると書かれています(使用例:=MROUND(5,-2) は #NUM!)。負の数が入る列では、次のように倍数へ符号を掛けておくと式を1つで済ませられます。
=MROUND(A2,SIGN(A2)*500)
A2 が 1234 なら 1000、-1234 なら -1000 になります。同じページには、倍数に小数を指定したとき、ちょうど中間の値がどちらへ丸められるかは定義されていないという注意もあります。0.05 単位などで中間の値の方向まで決めたいときは、=ROUND(A2/0.05,0)*0.05 のように ROUND で書く方法が向いています。
EVEN・ODDで偶数・奇数に切り上げる
| 数式 | 計算結果 | 数式 | 計算結果 |
|---|---|---|---|
=EVEN(3) |
4 | =ODD(2) |
3 |
=EVEN(2) |
2 | =ODD(0) |
1 |
=EVEN(1.2) |
2 | =ODD(-2) |
-3 |
=EVEN(-1) |
-2 | =ODD(2.5) |
3 |
=EVEN(0) |
0 | =ODD(-2.5) |
-3 |
どちらも 0 から遠い方へ進みます。2個1組で数えるもの(左右のペア、両面印刷の枚数など)を「足りる数」にそろえるときに使えます。
表示形式で丸めた値は計算に使われない
セルの表示形式で小数点以下の桁数を減らすと、見た目は丸まりますが、セルに入っている値は変わりません。次の表で確かめられます。
A1: 1.4 (表示形式を「0」にする)
A2: 1.4 (表示形式を「0」にする)
A3: 1.4 (表示形式を「0」にする)
A4: =SUM(A1:A3) (表示形式を「0」にする)
B1: =ROUND(1.4,0)
B2: =ROUND(1.4,0)
B3: =ROUND(1.4,0)
B4: =SUM(B1:B3)
| セル | 表示 | 入っている値 |
|---|---|---|
| A1〜A3 | 1 | 1.4 |
| A4 | 4 | 4.2 |
| B1〜B3 | 1 | 1 |
| B4 | 3 | 3 |
A列は「1+1+1=4」に見えます。 表示は 1 でも、合計には 1.4 が使われるためです。明細と合計の見た目をそろえたいときは、B列のように明細の段階で関数を使って丸めます。
| やりたいこと | 使うもの |
|---|---|
| 見た目だけ桁をそろえたい(値はそのまま使う) | 表示形式 |
| 丸めた値で合計・掛け算をしたい | ROUND などの関数 |
| 丸める前の値も残しておきたい | 元の列はそのまま、隣の列に関数 |
0.1刻みの計算で起きる小数誤差とROUNDで包む位置
Excel は数値を2進数の浮動小数点(IEEE 754)で持っています。Microsoft Learn の解説ページでは、有効桁数は 15 桁で、10進数では割り切れる 0.1 のような値も2進数では循環小数になり、わずかな差が出ることが説明されています。同じページの例では、=(43.1-43.2)+1 の結果が 0.9 ではなく 0.899999999999999 になります。
次の数式で、切り捨てや比較の結果が変わる様子を再現できます。
| 数式 | 計算結果 | 説明 |
|---|---|---|
=(8.2-8)*10 |
1.99999999999999 | 表示桁数を増やすと 2 より少し小さい |
=INT((8.2-8)*10) |
1 | 2 のつもりが 1 |
=ROUNDDOWN((8.2-8)*10,0) |
1 | 切り捨て系は同じ影響を受ける |
=(8.2-8)=0.2 |
FALSE | 見た目は 0.2 でも一致しない |
=INT(ROUND((8.2-8)*10,6)) |
2 | 先に ROUND で包むと 2 |
=ROUND(8.2-8,1)=0.2 |
TRUE | 比較の前に ROUND で包む |
=FLOOR.MATH(8.2-8,0.1) |
0.1 | 0.1 単位の切り捨ても影響を受ける |
=FLOOR.MATH(ROUND(8.2-8,6),0.1) |
0.2 | 先に ROUND で包む |
ROUND で包む位置は「切り捨て・切り上げ・比較の直前」です。=ROUND(INT((8.2-8)*10),6) のように外側で包んでも結果は 1 のままでした。INT が先に 1.99999999999999 を 1 にしてしまうためです。
| 場面 | 書き方 |
|---|---|
| 小数の引き算・掛け算の結果を切り捨てる | =ROUNDDOWN(ROUND(計算,6),0) |
| 小数の計算結果を切り上げる | =ROUNDUP(ROUND(計算,6),0) |
| 小数の計算結果を IF で比べる | =IF(ROUND(計算,2)=0.2,…) |
| 0.1 ずつ足していく連番 | =ROUND(上のセル+0.1,1) |
内側の ROUND の桁数は、扱う値の小数桁より数桁多くしておきます(小数第2位まで使う表なら 6 桁など)。本来の値を変えずに、末尾のわずかな差だけを取り除けます。
目的から関数を選ぶ判断表
| 目的 | 数式 | 入力例 | 計算結果 |
|---|---|---|---|
| 税額の端数を切り捨てる | =ROUNDDOWN(A2*0.1,0) |
1985 | 198 |
| 税額の端数を四捨五入する | =ROUND(A2*0.1,0) |
1985 | 199 |
| 税額の端数を切り上げる | =ROUNDUP(A2*0.1,0) |
1981 | 199 |
| 500円単位に切り上げる | =CEILING.MATH(A2,500) |
1234 | 1500 |
| 500円単位に切り捨てる | =FLOOR.MATH(A2,500) |
1730 | 1500 |
| 500円単位でいちばん近い額にする | =MROUND(A2,500) |
1250 | 1500 |
| 千円単位に四捨五入する | =ROUND(A2,-3) |
1234.567 | 1000 |
| 時刻を15分単位に切り上げる | =CEILING.MATH(A2,"0:15") |
9:07 | 9:15 |
| 時刻を15分単位に切り捨てる | =FLOOR.MATH(A2,"0:15") |
9:52 | 9:45 |
| 時刻を15分単位でいちばん近くにする | =MROUND(A2,"0:15") |
9:08 | 9:15 |
| 個数から必要な箱数を出す(12個入り) | =ROUNDUP(A2/12,0) |
53 | 5 |
| 箱単位で用意する個数を出す | =CEILING.MATH(A2,12) |
53 | 60 |
| 満杯になった箱の数を出す | =QUOTIENT(A2,12) |
53 | 4 |
| 箱に入りきらない端数を出す | =MOD(A2,12) |
53 | 5 |
| 2個1組で足りる数にそろえる | =EVEN(A2) |
3 | 4 |
税額の端数を切り捨てるか四捨五入するかは、数式ではなく決まりごとの側で決まります。どの方向に丸めるかは、自社の経理・税理士の確認に従ってください。この表は、決まった方向を数式に置き換えるための対応表です。
条件から選ぶ早見
| 条件 | 選ぶ関数 |
|---|---|
| 10・100・0.1 など桁の位置で丸める | ROUND・ROUNDUP・ROUNDDOWN |
| 500・15分・12個など倍数で丸める | MROUND・CEILING.MATH・FLOOR.MATH |
| マイナスの値もプラスと同じ大きさで切り捨てたい | ROUNDDOWN か TRUNC |
| マイナスの値を数直線で小さい方へそろえたい | INT か FLOOR.MATH |
| 小数部分をそのまま取り除くだけでよい | TRUNC(桁数は省略できる) |
| 見た目だけ変えたい | 表示形式 |
時刻を15分単位で丸めるときの補足
時刻は「1日を1とした小数」で入っているので、15分(1/96)も2進数では割り切れません。上の表の 9:07・9:08・9:52 に加えて、ちょうど区切りの 17:45 も確かめたところ、=FLOOR.MATH(TIME(17,45,0),"0:15") と =CEILING.MATH(TIME(17,45,0),"0:15") はどちらも 17:45 でした。
区切りちょうどの時刻が多い表で結果をそろえたいときは、分の整数に直してから丸める書き方が使えます。
=FLOOR.MATH(HOUR(A2)*60+MINUTE(A2),15)/1440
=CEILING.MATH(HOUR(A2)*60+MINUTE(A2),15)/1440
9:52 を入れると、上の式は 9:45、下の式は 10:00 になります(セルの表示形式は時刻にします)。
確かめて分かったこと
- INT と TRUNC の差は、割ってから掛け戻す形でも出ます。
=INT(-1234.567/100)*100は -1300、=ROUNDDOWN(-1234.567,-2)は -1200 でした。 - MROUND の中間の値は 0 から遠い方へ進みます。
=MROUND(1250,500)は 1500、=MROUND(1249,500)は 1000、時刻では 9:07 が 9:00、9:08 が 9:15 でした。 - MROUND に符号の違う引数を渡したときの動きは、Excel と Calc で分かれます。Calc 24.2 では
=MROUND(-2.5,2)が -2 を返しましたが、Microsoft サポートのページでは #NUM! エラーになると書かれています。符号をそろえる書き方(SIGNを掛ける)にしておくと、どちらでも同じ結果になります。 - ROUND を外側に付けても小数誤差の影響は消えません。
=ROUND(INT((8.2-8)*10),6)は 1 のまま、=INT(ROUND((8.2-8)*10,6))で 2 になりました。 - Calc では ROUND・ROUNDUP・ROUNDDOWN の桁数を省略しても整数に丸められました(
=ROUND(1234.567)は 1235)。Microsoft サポートの書式では桁数は必須なので、どちらでも動くよう 0 を書いておくと安心です。 - 表示形式「0」のセル3つ(値は 1.4)の合計は、表示上 4 になりました。値は 4.2 で、ROUND で丸めた列の合計は 3 です。
よくある質問
Q. ROUNDDOWN と INT の違いは?
A. 負の数での結果が違います。=ROUNDDOWN(-2.5,0) は -2、=INT(-2.5) は -3 です。正の数では同じ結果になり、ROUNDDOWN は桁数を指定できる点も違います。
Q. ROUND と表示形式の違いは? A. ROUND はセルの値そのものを丸め、表示形式は見た目だけを変えます。表示形式で丸めたセルを合計すると、元の値で計算されるため、見た目の合計と合わないことがあります。
Q. 四捨五入した結果が合わないときは?
A. 小数の引き算や掛け算の結果に、わずかな誤差が残っていることが多いです。切り捨て・切り上げ・比較の直前を ROUND(計算,6) のように包むと、意図した値になります。
Q. 100円単位や500円単位で切り上げるには?
A. 100円単位は =ROUNDUP(A2,-2)、500円単位は =CEILING.MATH(A2,500) です。10 のべき乗なら桁数に負の数を指定し、それ以外の単位は倍数を指定する関数を使います。
Q. CEILING・FLOOR と CEILING.MATH・FLOOR.MATH の違いは? A. CEILING.MATH・FLOOR.MATH は、基準値を省略すると整数に丸め、負の数の丸め方向をモード引数で選べる関数です。Microsoft サポートのページでは、対応バージョンとして Excel 2016 以降と Microsoft 365 が挙げられています。
まとめ
- 四捨五入は ROUND、切り上げは ROUNDUP、切り捨ては ROUNDDOWN。引数は3つとも「数値, 桁数」です。
- 桁数は正で小数側、0で整数、負で10の位以上。「小数点から右へ何桁残すか」で数えます。
- 負の数では INT・FLOOR.MATH が小さい方へ、TRUNC・ROUNDDOWN・CEILING.MATH が 0 に近い方へ進みます。
- 倍数で丸めるなら MROUND(近い方)・CEILING.MATH(切り上げ)・FLOOR.MATH(切り捨て)。MROUND は数値と倍数の符号をそろえます。
- 表示形式は見た目だけ。丸めた値で計算したいときは関数を使います。
- 小数誤差は、切り捨て・切り上げ・比較の直前を ROUND で包むと取り除けます。
- 丸める方向そのものは決まりごとに従い、決まった方向を判断表の数式に置き換えます。
参考・出典
- Microsoft サポート「ROUND function」「ROUNDUP function」「ROUNDDOWN function」「INT function」「TRUNC function」「EVEN function」「ODD function」(support.microsoft.com、2026-10-05 確認)
- Microsoft サポート「MROUND 関数」「CEILING.MATH 関数」「FLOOR.MATH 関数」(support.microsoft.com、2026-10-05 確認)
- Microsoft Learn「Floating-point arithmetic may give inaccurate results in Excel」(learn.microsoft.com、2026-10-05 確認)
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「Excel四捨五入・切り捨て・切り上げ関数一覧|ROUNDほか9種の違い」
株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。
WE ARE HIRING
RJCで一緒に開発しながら、
成長を楽しみませんか?
RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!
- 127日年間休日
- 12時間平均残業時間
- 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!
ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。