ROUND・ROUNDUP・ROUNDDOWN関数の使い方
ROUND関数は四捨五入、ROUNDUP関数は切り上げ、ROUNDDOWN関数は切り捨てを行う関数です。消費税計算や単価の端数処理など、金額を扱う業務で欠かせません。3つの関数の違いと、実務での使い分けを解説します。
3つの関数の基本構文
3つの関数はいずれも同じ引数構成です。
=ROUND(数値, 桁数)
=ROUNDUP(数値, 桁数)
=ROUNDDOWN(数値, 桁数)
引数の説明
| 引数 | 説明 |
|---|---|
| 数値 | 端数処理を行う数値またはセル参照 |
| 桁数 | 処理後の小数点以下の桁数 |
桁数の指定方法
桁数の指定は直感的にわかりにくい部分です。以下の表で整理します。
| 桁数 | 処理の単位 | 例(数値:1234.567) |
|---|---|---|
| 2 | 小数第3位で処理 → 小数第2位まで | 1234.57 |
| 1 | 小数第2位で処理 → 小数第1位まで | 1234.6 |
| 0 | 小数第1位で処理 → 整数に | 1235 |
| -1 | 1の位で処理 → 10の位まで | 1230 |
| -2 | 10の位で処理 → 100の位まで | 1200 |
| -3 | 100の位で処理 → 1000の位まで | 1000 |
桁数が正の数なら小数部分、0なら整数、負の数なら整数部分の上の桁での処理になります。
ROUND関数:四捨五入
ROUND関数は、指定した桁数で四捨五入します。
基本的な使い方
=ROUND(3.456, 2) → 3.46(小数第3位を四捨五入)
=ROUND(3.456, 1) → 3.5(小数第2位を四捨五入)
=ROUND(3.456, 0) → 3(小数第1位を四捨五入)
=ROUND(1567, -2) → 1600(10の位を四捨五入)
=ROUND(1567, -3) → 2000(100の位を四捨五入)
平均値の端数処理
AVERAGE関数で求めた平均値を、小数第1位で四捨五入して整数にする例です。
=ROUND(AVERAGE(B2:B50), 0)
AVERAGE関数の結果は小数になることが多いため、ROUND関数で見やすく整えます。
ROUNDUP関数:切り上げ
ROUNDUP関数は、指定した桁数で切り上げます。0から遠い方向に丸めます。
基本的な使い方
=ROUNDUP(3.421, 2) → 3.43(小数第3位を切り上げ)
=ROUNDUP(3.421, 1) → 3.5(小数第2位を切り上げ)
=ROUNDUP(3.421, 0) → 4(小数第1位を切り上げ)
=ROUNDUP(1234, -2) → 1300(10の位を切り上げ)
梱包数の計算
商品の注文数を1箱あたりの入り数で割って、必要な箱数を求める例です。
注文数が250個、1箱あたり12個入りの場合、必要な箱数は以下のように計算します。
=ROUNDUP(250/12, 0)
結果は21です。250 / 12 = 20.833…を切り上げて21箱必要になります。切り捨てると20箱で足りなくなるため、ROUNDUP関数を使います。
必要人数の算出
作業量から必要な人員数を求める場合にも切り上げが適切です。
# 作業量480時間、1人あたり1日8時間、納期5日間の場合
=ROUNDUP(480 / (8 * 5), 0)
結果は12人です。480 / 40 = 12でちょうど割り切れますが、仮に490時間なら13人になります。
ROUNDDOWN関数:切り捨て
ROUNDDOWN関数は、指定した桁数で切り捨てます。0に近い方向に丸めます。
基本的な使い方
=ROUNDDOWN(3.789, 2) → 3.78(小数第3位を切り捨て)
=ROUNDDOWN(3.789, 1) → 3.7(小数第2位を切り捨て)
=ROUNDDOWN(3.789, 0) → 3(小数第1位を切り捨て)
=ROUNDDOWN(1567, -2) → 1500(10の位を切り捨て)
INT関数との違い
INT関数も小数を整数にしますが、負の数での動作が異なります。
| 数値 | ROUNDDOWN(数値, 0) | INT(数値) |
|---|---|---|
| 3.7 | 3 | 3 |
| -3.7 | -3 | -4 |
ROUNDDOWN関数は0に近い方向に丸め、INT関数は小さい方向に丸めます。正の数では同じ結果ですが、負の数では異なります。
TRUNC関数との違い
TRUNC関数はROUNDDOWN関数とほぼ同じ動作をしますが、桁数のデフォルト値が異なります。
=TRUNC(3.789) → 3(桁数のデフォルトは0)
=ROUNDDOWN(3.789, 0) → 3(桁数は必須)
TRUNC関数は桁数を省略でき、省略時は整数部分のみを返します。
消費税計算への応用
端数処理は消費税の計算で頻繁に使われます。
税込金額の計算
税抜価格から税込金額を求める場合、消費税額の端数処理が必要です。
| A列:商品名 | B列:税抜価格 | C列:消費税 | D列:税込価格 |
|---|---|---|---|
| ボールペン | 150 | ||
| ノート | 280 | ||
| ファイル | 350 |
消費税率10%の場合のC列とD列の数式です。
# 消費税(切り捨て)
C2: =ROUNDDOWN(B2 * 0.1, 0)
# 税込価格
D2: =B2 + C2
消費税の端数処理は、取引先との契約や社内ルールによって切り捨て・切り上げ・四捨五入のいずれかが決まります。日本の消費税法では特定の端数処理方法は定められていませんが、実務では切り捨てが多く採用されています。
軽減税率への対応
軽減税率(8%)の商品と標準税率(10%)の商品が混在する場合は、IF関数と組み合わせます。
=ROUNDDOWN(B2 * IF(E2="軽減", 0.08, 0.1), 0)
E列に税率区分(「軽減」または「標準」)を入力しておくと、商品ごとに正しい消費税額を計算できます。
請求書の合計金額
複数の商品の税込合計を求める場合、個々の商品ごとに端数処理するか、合計金額に対して端数処理するかで結果が異なります。
# 方法1:商品ごとに端数処理してから合計
=SUM(C2:C10)
# 方法2:合計してから端数処理
=ROUNDDOWN(SUM(B2:B10) * 0.1, 0)
どちらの方法を採用するかは、請求ルールに従ってください。
実務でよく使う組み合わせ
割引後価格の計算
定価から割引率を適用して、10円単位に切り捨てる例です。
=ROUNDDOWN(B2 * (1 - C2), -1)
B2が定価、C2が割引率(例:0.15で15%引き)の場合、割引後の価格を10円単位に切り捨てます。
予算の概算
金額を千円単位に四捨五入して概算を求める例です。
=ROUND(B2, -3)
1234567円は1235000円(約123万5千円)に丸められます。
時間の丸め処理
勤務時間を15分単位に切り捨てる場合は、以下のように計算します。
=ROUNDDOWN(B2 * 24 * 4, 0) / (24 * 4)
B2が時刻データの場合、24を掛けて時間に変換し、4を掛けて15分単位に変換してから切り捨て、元に戻します。
よくあるエラーと注意点
桁数の指定ミス
桁数の正負を間違えると、意図しない結果になります。小数部分の処理には正の数、整数部分の処理には負の数を指定してください。
浮動小数点の誤差
Excelでは浮動小数点演算を使用しているため、計算結果にわずかな誤差が生じることがあります。
=0.1 + 0.2
この結果は0.3ではなく0.30000000000000004になる場合があります。ROUND関数で適切な桁数に丸めることで、この誤差を解消できます。
表示桁数と実際の値の違い
セルの書式設定で表示桁数を変更しても、セルに保存されている値は変わりません。計算に使う値を正確に制御するには、ROUND系の関数で値そのものを丸める必要があります。
まとめ
ROUND・ROUNDUP・ROUNDDOWN関数は、数値の端数処理を行う基本的な関数です。
- ROUND関数は四捨五入、ROUNDUP関数は切り上げ、ROUNDDOWN関数は切り捨てを行う
- 桁数が正なら小数部分、0なら整数、負なら整数部分の上の桁で処理する
- 消費税計算では端数処理のルールを確認してから関数を選択する
- 必要数量の算出にはROUNDUP、金額の切り捨てにはROUNDDOWNが適している
- 浮動小数点誤差の解消にもROUND関数が有効
なお、ROUND、ROUNDUP、ROUNDDOWN関数はいずれもGoogle スプレッドシートで同じ構文で利用できます。金額計算をはじめとする数値処理の基本です。業務のルールに合わせて3つの関数を使い分けましょう。