Menu

ROUNDUP・ROUNDDOWN関数で切り上げ・切り捨てする方法

=ROUNDUP(A2,0)は常に0から遠いほうへ切り上げるので2.1は3になり、=ROUNDDOWN(A2,0)は常に0に向かって切り捨てるので2.9は2になります。CEILINGとFLOORは倍数に切り上げ・切り捨てし、INTとTRUNCは小数部分を捨てます。

このページのシートはすべて実際に動きます。数値や数式を変えると再計算されます。

=ROUNDUP(A2,0)は常に0から遠いほうへ切り上げるので、2.1は3になります。=ROUNDDOWN(A2,0)は常に0に向かって切り捨てるので、2.9は2になります。どちらもROUNDと同じ引数を取ります。数値と、残す桁数です。

ROUNDUP、ROUNDDOWN、ROUNDを並べる
B2
ABCD
1ValueROUNDUPROUNDDOWNROUND
22.1322
32.9323
42.5323
5-2.1-3-2-2
6-2.9-3-2-3
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

5行目と6行目を見てください。ROUNDUPは-2.1を-3にします。「切り上げ」は大きいほうの数ではなく、0から遠いほうという意味だからです。ROUNDDOWNは-2.9を-2にします。A2を2.0001に変えても、ROUNDUPは3を返します。残す桁より先にある値は、どんなに小さくても数えられます。

ROUNDUP関数とROUNDDOWN関数の構文

=ROUNDUP(number, num_digits)
=ROUNDDOWN(number, num_digits)

num_digits(桁数)はROUNDとまったく同じように働きます。2は小数点以下2桁を残し、0は整数にし、-1、-2、-3は十、百、千の位で丸めます。

小数点以下と百の位で切り上げ・切り捨て
B2
ABCDE
1num_digitsROUNDUPROUNDDOWNNumber
221234.571234.561234.561
311234.61234.5
4012351234
5-213001200
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

桁数2のROUNDUPは1234.561を1234.57に、-2なら1300にします。-2のROUNDDOWNは1200です。E2を変えて、両方の列を見てください。

割り算の結果を切り上げる: 箱、バス、ページの数

切り上げが必要になるいちばんの理由は、端数にできない数です。250個の品物を24個入りの箱に入れると10.4箱で、つまり11箱必要です。=ROUNDUP(B2/C2,0)でそれが直接求まります。

注文ごとに必要な箱の数
D2
ABCD
1OrderItemsPer boxBoxes
2A-1012502411
3A-10296244
4A-10397245
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

96個はちょうど4箱に収まり、1個増えると5箱目が必要になります。ROUNDなら97個で4を返し、1個が箱に入らないまま残ります。

CEILINGとFLOOR: 倍数に丸める

ROUNDUPとROUNDDOWNは10のべき乗で丸めます。任意の数(5、0.25、12、30分)の倍数に切り上げ・切り捨てするには、CEILINGとFLOORを使います:

  • =CEILING(A2,5)は次の5の倍数に切り上げます。
  • =FLOOR(A2,5)は前の5の倍数に切り捨てます。
CEILINGとFLOORで倍数に丸める
C2
ABCD
1ValueMultipleCEILINGFLOOR
21151510
31551515
47.30.257.57.25
526123624
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

すでに倍数である値はそのままです。15を5の倍数にすると、どちらでも15です。

CEILING.MATHとFLOOR.MATH(Excel 2013以降)も同じことをしますが、違いが1つあります。倍数は省略でき、既定は1です。マイナスの数では3つ目の引数で方向を選びます。=CEILING.MATH(-7.5)は-7(0に向かって切り上げ)、=CEILING.MATH(-7.5,1,1)は-8(0から遠いほう)になります。マイナスの数とプラスの倍数を指定したふつうのCEILINGとFLOORは、現在のExcelでは同じように動きます。Excel 2007では#NUM!を返していました。

時刻を次の15分に切り上げる

時刻は1日の端数なので、CEILINGとFLOORで丸められます。倍数は時刻で指定します。TIME(0,15,0)は15分です。

15分単位で請求する時間
B2
ABC
1LoggedBilled (up)Paid (down)
21:071:151:00
30:521:000:45
42:302:302:30
50:010:150:00
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

1:07は1:15として請求され、たった1分でも15分として請求されます。2:30はすでに倍数なので2:30のままです。時間の計算については時間の計算を参照してください。

マイナスの数でのINTとTRUNCの違い

どちらもプラスの数の小数部分を捨てます。=INT(4.7)も=TRUNC(4.7)も4です。違いが出るのはマイナスの数です。INTは1つ小さい整数に切り下げるので、-4.2は-5になります。TRUNCは小数部分を切り落とすので、-4.2はROUNDDOWNと同じく-4になります。

INT、TRUNC、ROUNDDOWN
B4
ABCD
1ValueINTTRUNCROUNDDOWN
24.7444
34.2444
4-4.2-5-4-4
5-4.7-5-4-4
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

TRUNCも桁数を受け取ります。=TRUNC(A2,2)は小数点以下2桁を残して残りを切り捨てます。日時の値から整数の日数を取り出すときのように「その値以下の整数」が欲しいならINTを、「小数点より前の数字」が欲しいならTRUNCを使います。

やってみよう: パレットと価格の刻み

出荷ごとのパレット数
D2
ABCD
1ShipmentCartonsPer palletPallets
2S113040
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

やってみよう: D2に、出荷S1に必要なパレットの数を計算してください。B2の箱数をC2の1パレットあたりの箱数で割り、パレット単位に切り上げます。

価格を次の0.25に切り上げる
C2
ABC
1PriceStepRounded up
23.620.25
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

やってみよう: C2に、A2の価格をB2の刻みの次の倍数に切り上げてください。

どれを使うか

目的数式7.32の結果-7.32の結果
切り上げ、小数点以下1桁=ROUNDUP(A2,1)7.4-7.4
切り捨て、小数点以下1桁=ROUNDDOWN(A2,1)7.3-7.3
0.5の倍数に切り上げ=CEILING.MATH(A2,0.5)7.5-7
0.5の倍数に切り捨て=FLOOR.MATH(A2,0.5)7-7.5
小さいほうの整数=INT(A2)7-8
小数部分を捨てる=TRUNC(A2)7-7

避けたい間違いは、「最も近い値に丸める」つもりでROUNDUPを使うことです。3.01時間に=ROUNDUP(B2,0)を使うと4時間を請求します。ルールが「最も近い値」ならROUNDを、「次の15分」なら刻みを指定したCEILINGを使ってください。

よくある質問

Excelで常に切り上げるには?

整数なら=ROUNDUP(A2,0)、小数点以下2桁なら=ROUNDUP(A2,2)を使います。残す桁より先に少しでも値があれば切り上がるので、桁数0なら2.01は3になります。

ROUNDUPとCEILINGの違いは何ですか?

ROUNDUPは桁で数えます。=ROUNDUP(A2,-1)は次の10に切り上げます。CEILINGは任意の数の次の倍数に切り上げます。=CEILING(A2,5)は次の5に、=CEILING(A2,0.25)は次の0.25に切り上げます。

ExcelのINTとTRUNCの違いは何ですか?

プラスの数では一致しますが、マイナスの数では違います。=INT(-4.2)は1つ小さい整数の-5に切り下げ、=TRUNC(-4.2)は小数部分を切り落として-4にします。

Excelで四捨五入せずに小数点以下を捨てるには?

=TRUNC(A2)か=ROUNDDOWN(A2,0)を使います。7.99は7になります。小数点以下2桁を残して残りを切り捨てるなら=TRUNC(A2,2)で、7.999は7.99になります。

Excelで5単位に切り上げるには?

=CEILING(A2,5)(または=CEILING.MATH(A2,5))を使います。11は15になり、15は15のままです。5の倍数に切り捨てるなら=FLOOR(A2,5)を使います。

Coddyのプログラミング言語のイラスト

Coddyでコードを学ぼう

始める