スプレッドシートのMROUND関数の使い方|指定倍数に丸め
スプレッドシートで「500円単位の価格表を作りたい」「15分単位で勤怠を丸めたい」と思ったことはありませんか?
ROUND関数は小数第2位や10の位といった「桁数」で丸めます。でも「500円刻み」「15分刻み」のように倍数で丸めたい場面には向いていません。
そんなときに使うのがMROUND関数です。指定した倍数の中でいちばん近い値に丸めてくれます。
この記事では基本の書き方から倍数の指定パターン、実務での使いどころまで紹介します。
MROUND関数とは?
MROUND関数(読み方: エムラウンド関数)は、数値を指定した倍数の最も近い値に丸める関数です。
名前は英語の「Multiple ROUND(倍数で丸める)」が由来です。たとえば「1,280円」を500円単位で丸めると「1,500円」になります。
ROUND関数との最大の違いは「第2引数の指定方法」です。ROUND関数は「桁数」を指定しますが、MROUND関数は「倍数」を直接指定します。「100単位」「0.5刻み」のように、好きな単位で丸められるのがポイントです。
MROUND関数にできることをまとめると、次のとおりです。
- 数値を指定した倍数の最も近い値に丸める
- 500円単位・100円単位の価格設定に使う
- 15分単位・30分単位の勤怠管理に使う
- 50個単位・100個単位のロット発注に使う
NOTE
MROUND関数はGoogleスプレッドシートの全バージョンで使えます。Excelとの互換性も完全なので、ファイルのやり取りでも安心です。
MROUND関数の書き方(構文と引数)
基本構文
=MROUND(値, 倍数)
カッコの中に「丸めたい数値」と「何の倍数にするか」を指定します。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 値 | 必須 | 丸めたい数値やセル参照、数式 |
| 倍数 | 必須 | 丸める基準となる倍数 |
引数は2つだけです。どちらも省略できません。
ROUND関数の第2引数は「桁数(整数)」ですが、MROUND関数の第2引数は「倍数(小数もOK)」です。この違いが使い分けのカギになります。
倍数の指定パターン
MROUND関数は倍数の値によって丸め方が変わります。代表的なパターンを表にまとめます。
| 倍数 | 意味 | 例: MROUND(1234, 倍数) | 結果 |
|---|---|---|---|
| 1000 | 1,000単位に丸め | =MROUND(1234, 1000) | 1000 |
| 500 | 500単位に丸め | =MROUND(1234, 500) | 1000 |
| 100 | 100単位に丸め | =MROUND(1234, 100) | 1200 |
| 50 | 50単位に丸め | =MROUND(1234, 50) | 1250 |
| 10 | 10単位に丸め | =MROUND(1234, 10) | 1230 |
| 5 | 5単位に丸め | =MROUND(1234, 5) | 1235 |
| 0.5 | 0.5単位に丸め | =MROUND(1.3, 0.5) | 1.5 |
| 0.1 | 0.1単位に丸め | =MROUND(1.34, 0.1) | 1.3 |
ポイントは「倍数を変えるだけで丸める刻みを自由に変えられる」ことです。ROUND関数の桁数パターンよりも直感的に理解できます。
TIP
倍数に小数を指定することもできます。たとえば「0.25刻み」で丸めたい場合は
=MROUND(A1, 0.25)です。
基本的な使い方
整数を100単位に丸める
いちばんシンプルな例です。A2に金額が入っているとします。
=MROUND(A2, 100)
A2が「1,280円」なら結果は「1,300円」です。A2が「1,240円」なら「1,200円」です。ちょうど中間の「1,250円」の場合はゼロから離れる方向に丸まり「1,300円」になります。
小数を0.5単位に丸める
評価スコアなど0.5刻みにしたい場面です。
=MROUND(B2, 0.5)
B2が「3.7」なら「3.5」、「3.8」なら「4.0」に丸まります。「3.75」ちょうどなら「4.0」です。
丸めの方向を確認する
MROUND関数は「最も近い倍数」に丸めます。もし2つの倍数のちょうど中間にある場合は、ゼロから遠い方の倍数に丸まります。
=MROUND(25, 10)
25は「20」と「30」のちょうど中間です。この場合、ゼロから遠い「30」が返ります。
実務で使える活用パターン
500円単位の価格設定
商品の売価を500円単位に揃えたいときに便利です。A2に原価ベースの計算価格が入っているとします。
=MROUND(A2, 500)
たとえば計算で「1,780円」になった場合、「2,000円」に丸まります。「1,680円」なら「1,500円」です。
価格を常に切り上げたいならROUNDUP関数ではなくCEILING関数を使います。CEILING関数は倍数指定で常に切り上げます。
=CEILING(A2, 500)
「1,680円」でも「2,000円」に切り上がります。利益を確保したい場合はCEILING関数を選びましょう。
15分単位の勤怠管理
「15分未満の端数を最も近い15分に丸める」ルールの場合です。C2に時刻が入っているとします。
=MROUND(C2, "0:15")
時刻データの場合は倍数を「”0:15″」のように時刻形式で指定します。「9:07」なら「9:00」、「9:08」なら「9:15」に丸まります。
NOTE
勤怠の端数を常に切り捨てたい場合はFLOOR関数、常に切り上げたい場合はCEILING関数を使います。会社のルールに合わせて関数を選んでください。
50個単位のロット発注
発注数を50個単位にそろえたいときに使います。B2に必要数量が入っているとします。
=MROUND(B2, 50)
必要数が「120個」なら「100個」に丸まります。不足を防ぎたいならCEILING関数で「150個」に切り上げるのが安全です。
=CEILING(B2, 50)
在庫を抱えたくない場面ではMROUND関数、欠品を避けたい場面ではCEILING関数と使い分けましょう。
100円単位の見積金額
見積書で金額を100円単位にそろえるケースです。
=MROUND(A2, 100)
「456,789円」なら「456,800円」になります。
同じことは =ROUND(A2, -2) でもできます。ただし「100単位」と直接書けるMROUND関数のほうが意図がわかりやすいです。桁数の正負で悩む必要がないのがMROUNDの強みです。
よくあるエラーと対処法
MROUND関数はシンプルな関数ですが、エラーが出ることもあります。
| エラー | 原因 | 対処法 |
|---|---|---|
| #NUM! | 値と倍数の符号が異なる | 両方とも正、または両方とも負にそろえる |
| #VALUE! | 値や倍数に文字列が入っている | セル参照先が数値かどうか確認する |
| #ERROR! | 構文ミス(カンマ忘れ等) | 数式の入力内容を見直す |
| 結果が0 | 倍数に0を指定している | 0以外の倍数を指定する |
| 結果が期待と違う | 中間値の丸め方向を誤解している | ちょうど中間はゼロから遠い方に丸まる |
値と倍数の符号が異なるとき
MROUND関数は値と倍数の符号が一致しないとエラーになります。
=MROUND(-1280, 500)
結果は#NUM!エラーです。負の値を丸めるには倍数も負にします。
=MROUND(-1280, -500)
結果は「-1500」です。負の値を扱うときは倍数の符号に注意してください。
倍数に0を指定したとき
倍数に0を指定すると結果は0になります。エラーにはなりません。
=MROUND(1234, 0)
結果は「0」です。意図せず倍数のセルが空や0になっていないか確認しましょう。
似た関数との違い・使い分け
スプレッドシートには倍数で丸める関数が3つあります。丸めの方向が異なるので、目的に応じて使い分けましょう。
| 関数 | 丸め方 | 第2引数 | 使いどころ |
|---|---|---|---|
| MROUND | 最も近い倍数 | 倍数 | 価格設定・見積金額の丸め |
| CEILING | 常に切り上げ(倍数) | 倍数 | 不足させたくない場面(発注数・時間) |
| FLOOR | 常に切り捨て(倍数) | 倍数 | 余分に取りたくない場面(勤怠切り捨て) |
| ROUND | 四捨五入 | 桁数 | 小数第2位・10の位など桁数指定の丸め |
| ROUNDUP | 常に切り上げ | 桁数 | 箱数計算など桁数指定の切り上げ |
| ROUNDDOWN | 常に切り捨て | 桁数 | 消費税切り捨てなど桁数指定の切り捨て |
MROUND・CEILING・FLOORの使い分け
この3関数は「倍数で丸める」という共通点があります。違いは丸めの方向だけです。
具体例で比較しましょう。「1,280円」を500円単位で丸める場合です。
=MROUND(1280, 500) → 1500(最も近い倍数)
=CEILING(1280, 500) → 1500(切り上げ)
=FLOOR(1280, 500) → 1000(切り捨て)
次に「1,680円」で比較します。
=MROUND(1680, 500) → 1500(最も近い倍数)
=CEILING(1680, 500) → 2000(切り上げ)
=FLOOR(1680, 500) → 1500(切り捨て)
使い分けの基準は次のとおりです。
- 中立的に丸めたい → MROUND
- 不足を防ぎたい → CEILING
- 余分を出したくない → FLOOR
MROUNDとROUNDの使い分け
MROUNDとROUNDの違いは「第2引数の指定方法」です。
- ROUND: 桁数で指定(小数第2位、10の位など)
- MROUND: 倍数で指定(100単位、500単位、0.5刻みなど)
「100単位に丸めたい」場合、どちらでも実現できます。
=ROUND(A2, -2) → 桁数「-2」で100の位に丸め
=MROUND(A2, 100) → 倍数「100」で100単位に丸め
結果は同じです。桁数の正負に慣れているならROUND関数、倍数で直感的に指定したいならMROUND関数が向いています。
ただし「500単位」「15分単位」のように10のべき乗以外の倍数はROUND関数では対応できません。この場合はMROUND関数の出番です。
TIP
丸め関数の詳しい使い方は、それぞれの個別記事で解説しています。ROUND関数・ROUNDUP関数・ROUNDDOWN関数・INT関数の記事もあわせてチェックしてみてください。
Excelとの違い
MROUND関数はExcelとGoogleスプレッドシートでほぼ同じ動作です。
| 項目 | Excel | Googleスプレッドシート |
|---|---|---|
| 構文 | =MROUND(数値, 倍数) | =MROUND(値, 倍数) |
| 動作 | 最も近い倍数に丸め | 最も近い倍数に丸め |
| 符号不一致時 | #NUM!エラー | #NUM!エラー |
| 倍数0の場合 | 0を返す | 0を返す |
引数名の表記が若干異なるだけで、機能は完全に同じです。ExcelとSheetsでファイルを共有しても、計算結果がずれることはありません。
TIP
Excelの丸め関数について詳しくはExcelの丸め関数10種を完全比較の記事で解説しています。
まとめ
MROUND関数は、数値を指定した倍数の最も近い値に丸める関数です。
ポイントを整理します。
- 構文は
=MROUND(値, 倍数)の2引数だけ - ROUND関数が「桁数」で丸めるのに対し、MROUNDは「倍数」で丸める
- 500円単位・15分単位・50個単位など、自由な刻みで丸められる
- CEILING(切り上げ)・FLOOR(切り捨て)と使い分けると便利
- ROUND・ROUNDUP・ROUNDDOWNは桁数指定の丸めで使う
まずは =MROUND(A1, 100) で100円単位の丸めから試してみてください。
