=ROUNDUP(A2,0)は常に0から遠いほうへ切り上げるので、2.1は3になります。=ROUNDDOWN(A2,0)は常に0に向かって切り捨てるので、2.9は2になります。どちらもROUNDと同じ引数を取ります。数値と、残す桁数です。
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Value | ROUNDUP | ROUNDDOWN | ROUND |
| 2 | 2.1 | 3 | 2 | 2 |
| 3 | 2.9 | 3 | 2 | 3 |
| 4 | 2.5 | 3 | 2 | 3 |
| 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は十、百、千の位で丸めます。
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | num_digits | ROUNDUP | ROUNDDOWN | Number | |
| 2 | 2 | 1234.57 | 1234.56 | 1234.561 | |
| 3 | 1 | 1234.6 | 1234.5 | ||
| 4 | 0 | 1235 | 1234 | ||
| 5 | -2 | 1300 | 1200 |
桁数2のROUNDUPは1234.561を1234.57に、-2なら1300にします。-2のROUNDDOWNは1200です。E2を変えて、両方の列を見てください。
割り算の結果を切り上げる: 箱、バス、ページの数
切り上げが必要になるいちばんの理由は、端数にできない数です。250個の品物を24個入りの箱に入れると10.4箱で、つまり11箱必要です。=ROUNDUP(B2/C2,0)でそれが直接求まります。
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Order | Items | Per box | Boxes |
| 2 | A-101 | 250 | 24 | 11 |
| 3 | A-102 | 96 | 24 | 4 |
| 4 | A-103 | 97 | 24 | 5 |
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の倍数に切り捨てます。
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Value | Multiple | CEILING | FLOOR |
| 2 | 11 | 5 | 15 | 10 |
| 3 | 15 | 5 | 15 | 15 |
| 4 | 7.3 | 0.25 | 7.5 | 7.25 |
| 5 | 26 | 12 | 36 | 24 |
すでに倍数である値はそのままです。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分です。
| A | B | C | |
|---|---|---|---|
| 1 | Logged | Billed (up) | Paid (down) |
| 2 | 1:07 | 1:15 | 1:00 |
| 3 | 0:52 | 1:00 | 0:45 |
| 4 | 2:30 | 2:30 | 2:30 |
| 5 | 0:01 | 0:15 | 0: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になります。
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Value | INT | TRUNC | ROUNDDOWN |
| 2 | 4.7 | 4 | 4 | 4 |
| 3 | 4.2 | 4 | 4 | 4 |
| 4 | -4.2 | -5 | -4 | -4 |
| 5 | -4.7 | -5 | -4 | -4 |
TRUNCも桁数を受け取ります。=TRUNC(A2,2)は小数点以下2桁を残して残りを切り捨てます。日時の値から整数の日数を取り出すときのように「その値以下の整数」が欲しいならINTを、「小数点より前の数字」が欲しいならTRUNCを使います。
やってみよう: パレットと価格の刻み
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Shipment | Cartons | Per pallet | Pallets |
| 2 | S1 | 130 | 40 |
やってみよう: D2に、出荷S1に必要なパレットの数を計算してください。B2の箱数をC2の1パレットあたりの箱数で割り、パレット単位に切り上げます。
| A | B | C | |
|---|---|---|---|
| 1 | Price | Step | Rounded up |
| 2 | 3.62 | 0.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)を使います。