スプレッドシートで「500円単位の価格表を作りたい」「15分単位で勤怠を丸めたい」と思ったことはありませんか?
スプレッドシートのMROUND関数を使えば、指定した倍数の中でいちばん近い値に丸められます。500円刻み・15分刻み・50個単位など、ROUND関数の桁数指定では対応できない場面にぴったりですよ。
ROUND関数は小数第2位や10の位といった「桁数」で丸める関数です。便利ですが「500円刻み」のような倍数指定には向いていません。
この記事では基本の書き方と倍数の指定パターン、500円単位の価格設定や15分単位の勤怠管理などの実務7パターンを紹介します。CEILING・FLOORとの使い分けや、つまずきやすい中間値の丸め方向もまとめて押さえましょう。
スプレッドシートのMROUND関数とは?
MROUND関数(読み方: エムラウンド関数)は、数値を指定した倍数の最も近い値に丸める関数です。
名前は英語の「Multiple ROUND(倍数で丸める)」が由来です。たとえば「1,280円」を500円単位で丸めると「1,500円」になります。
ROUND関数との最大の違いは「第2引数の指定方法」です。ROUND関数は「桁数」を指定しますが、MROUND関数は「倍数」を直接指定します。「100単位」「0.5刻み」のように、好きな単位で丸められるのがポイントですよ。
MROUND関数にできることをまとめると、次のとおりです。
- 数値を指定した倍数の最も近い値に丸める
- 500円単位・100円単位の価格設定に使う
- 15分単位・30分単位の勤怠管理に使う
- 50個単位・100個単位のロット発注に使う
- 0.5刻み・0.25刻みなど小数の丸めにも対応する
NOTE
MROUND関数はGoogleスプレッドシートの全バージョンで使えます。Excelとの互換性も完全なので、ファイルのやり取りでも安心ですよ。
MROUND関数の書き方(構文と引数)
基本構文
=MROUND(値, 倍数)
カッコの中に「丸めたい数値」と「何の倍数にするか」を指定します。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 値 | 必須 | 丸めたい数値やセル参照、数式 |
| 倍数 | 必須 | 丸める基準となる倍数(小数も指定可) |
引数は2つだけです。どちらも省略できません。
ROUND関数の第2引数は「桁数(整数)」ですが、MROUND関数の第2引数は「倍数(小数もOK)」です。この違いが使い分けのカギになりますよ。
TIP
セル参照で倍数を指定すれば、後から丸める単位を変更しやすくなります。たとえば
=MROUND(A2, $B$1)のようにB1で倍数を管理すれば、表全体の刻みを一括で変更できますよ。
倍数の指定パターン
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 |
| 0.25 | 0.25単位に丸め | =MROUND(1.34, 0.25) | 1.25 |

ポイントは「倍数を変えるだけで丸める刻みを自由に変えられる」ことです。ROUND関数の桁数パターンよりも直感的に理解できますよ。
TIP
倍数に小数を指定することもできます。たとえば「0.25刻み」で丸めたい場合は
=MROUND(A1, 0.25)です。0.1単位や0.05単位など、評価点・スコア集計でよく使うパターンですよ。
基本的な使い方
整数を100単位に丸める
いちばんシンプルな例です。A2に金額が入っているとします。
=MROUND(A2, 100)

A2が「1,280円」なら結果は「1,300円」です。A2が「1,240円」なら「1,200円」になります。
小数を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」が返ります。負の値でも同じです。
=MROUND(-25, -10)
結果は「-30」になります。絶対値の大きい側(ゼロから遠い側)に丸まるルールですね。
NOTE
一般的な四捨五入(中間値を切り上げ)とは厳密には異なります。MROUNDの中間値は「ゼロから遠い方向」で、これはExcelのROUND関数・ROUNDUP関数と同じ挙動ですよ。
実務で使える活用パターン7選
パターン1: 500円単位の価格設定
商品の売価を500円単位に揃えたいときに便利です。A2に原価ベースの計算価格が入っているとします。
=MROUND(A2, 500)

たとえば計算で「1,780円」になった場合、「2,000円」に丸まります。「1,680円」なら「1,500円」です。
価格を常に切り上げたい(利益を確保したい)なら、CEILING関数を使います。CEILING関数は倍数指定で常に切り上げる関数です。
=CEILING(A2, 500)
「1,680円」でも「2,000円」に切り上がります。利益を最低限確保したい場合はCEILING関数を選びましょう。
パターン2: 100円単位の見積金額
見積書で金額を100円単位にそろえるケースです。
=MROUND(A2, 100)
「456,789円」なら「456,800円」になります。
同じことは =ROUND(A2, -2) でもできます。ただし「100単位」と直接書けるMROUND関数のほうが意図がわかりやすいですよ。桁数の正負で悩む必要がないのがMROUNDの強みですね。
パターン3: 消費税込み価格を100円単位に丸める
税抜価格に消費税をかけて、税込価格を100円単位に揃えるパターンです。
=MROUND(A2*1.1, 100)
A2が「3,580円」なら税込は「3,938円」、100円単位に丸めて「3,900円」になります。
価格表を見やすくしたい・心理的にキリ良く見せたい場合に使いますよ。常に切り上げたいなら =CEILING(A2*1.1, 100) に切り替えてください。
パターン4: 15分単位の勤怠管理
「15分未満の端数を最も近い15分に丸める」ルールの場合です。C2に時刻が入っているとします。
=MROUND(C2, "0:15")
時刻データの場合は倍数を「”0:15″」のように時刻形式で指定します。「9:07」なら「9:00」、「9:08」なら「9:15」に丸まります。
NOTE
勤怠の端数を常に切り捨てたい場合はFLOOR関数、常に切り上げたい場合はCEILING関数を使います。会社のルールに合わせて関数を選んでくださいね。
パターン5: 30分単位の会議時間集計
社内ミーティングの所要時間を30分単位に丸める集計です。D2に「打ち合わせ時間(時:分形式)」が入っているとします。
=MROUND(D2, "0:30")
「1:20」なら「1:30」、「1:10」なら「1:00」に丸まります。月次の会議時間集計を「30分単位の概算工数」として報告する場面で重宝しますよ。
パターン6: 50個単位のロット発注
発注数を50個単位にそろえたいときに使います。B2に必要数量が入っているとします。
=MROUND(B2, 50)
必要数が「120個」なら「100個」に丸まります。不足を防ぎたいならCEILING関数で「150個」に切り上げるのが安全ですよ。
=CEILING(B2, 50)
在庫を抱えたくない場面ではMROUND関数、欠品を避けたい場面ではCEILING関数と使い分けましょう。
パターン7: ARRAYFORMULAで一括丸め処理
価格列や数量列など、範囲全体を一気に丸めたい場合はARRAYFORMULAと組み合わせます。
=ARRAYFORMULA(MROUND(A2:A100, 100))
これで A2:A100 の全セルを100円単位に丸めた結果が一気に表示されます。1行ずつ数式をコピーする手間がなく、商品マスタや価格表の自動更新に向いていますよ。
TIP
ARRAYFORMULAは空白セルにも0を返してしまうので、空白除外したいときは
=ARRAYFORMULA(IF(A2:A100="", "", MROUND(A2:A100, 100)))のようにIF文で囲むと安全です。
よくあるエラーと対処法
MROUND関数はシンプルな関数ですが、エラーが出ることもあります。
| エラー | 原因 | 対処法 |
|---|---|---|
| #NUM! | 値と倍数の符号が異なる | 両方とも正、または両方とも負にそろえる |
| #VALUE! | 値や倍数に文字列が入っている | セル参照先が数値かどうか確認する |
| #ERROR! | 構文ミス(カンマ忘れ等) | 数式の入力内容を見直す |
| 結果が0 | 倍数に0を指定している | 0以外の倍数を指定する |
| 結果が期待と違う | 中間値の丸め方向を誤解している | ちょうど中間はゼロから遠い方に丸まる仕様 |
値と倍数の符号が異なるとき
MROUND関数は値と倍数の符号が一致しないとエラーになります。
=MROUND(-1280, 500)
結果は#NUM!エラーです。負の値を丸めるには倍数も負にします。
=MROUND(-1280, -500)
結果は「-1500」です。負の値を扱うときは倍数の符号に注意してくださいね。
倍数に0を指定したとき
倍数に0を指定すると結果は0になります。エラーにはなりません。
=MROUND(1234, 0)
結果は「0」です。意図せず倍数のセルが空や0になっていないか確認しましょう。
小数の浮動小数点誤差に注意
0.1や0.01のような小数を倍数に指定する場合は、浮動小数点誤差に注意してください。コンピュータ内部の表現上、ごく稀に予期せぬ結果になることがあります。
=MROUND(0.1+0.2, 0.1)
理論上は「0.3」ですが、内部では微小な誤差が含まれることがあります。IF文での比較には注意してくださいね。
似た関数との違い・使い分け
スプレッドシートには倍数で丸める関数が3つあります。丸めの方向が異なるので、目的に応じて使い分けましょう。
| 関数 | 丸め方 | 第2引数 | 使いどころ |
|---|---|---|---|
| MROUND | 最も近い倍数 | 倍数 | 価格設定・見積金額の丸め |
| CEILING | 常に切り上げ(倍数) | 倍数 | 不足させたくない場面(発注数・時間) |
| FLOOR | 常に切り捨て(倍数) | 倍数 | 余分に取りたくない場面(勤怠切り捨て) |
| ROUND | 四捨五入 | 桁数 | 小数第2位・10の位など桁数指定の丸め |
| ROUNDUP | 常に切り上げ | 桁数 | 箱数計算など桁数指定の切り上げ |
| ROUNDDOWN | 常に切り捨て | 桁数 | 消費税切り捨てなど桁数指定の切り捨て |
| INT | 切り捨て(整数化) | なし | 整数化(負数は-∞方向) |
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でファイルを共有しても、計算結果がずれることはありませんよ。
よくある質問(FAQ)
Q. MROUNDで「四捨五入」はできますか?
A. 厳密な意味の四捨五入ではなく、「最も近い倍数」への丸めです。中間値はゼロから遠い側に丸まるため、結果として正の数の場合は四捨五入と同じ動きになります。負の数では挙動が異なるので注意してくださいね。
Q. 倍数にセル参照を使えますか?
A. 使えます。=MROUND(A2, $B$1) のように倍数を別セルで管理すれば、丸める単位を一箇所で切り替えられます。価格表全体の刻みを変更したい場面で便利ですよ。
Q. 時刻を1分単位で丸めたい場合は?
A. =MROUND(C2, "0:01") で指定できます。秒単位なら "0:00:01" ですね。
Q. MROUNDとROUNDで結果が違うことはありますか?
A. 「100単位」「10単位」のように10のべき乗で揃える場合、結果はほぼ同じです。ただし中間値の挙動や小数倍数指定など、細かい仕様で違いが出るケースがあります。倍数で考えたいならMROUND、桁数で考えたいならROUNDと使い分けるのがおすすめですよ。
まとめ
スプレッドシートのMROUND関数は、数値を指定した倍数の最も近い値に丸める関数です。
ポイントを整理します。
- 構文は
=MROUND(値, 倍数)の2引数だけ - ROUND関数が「桁数」で丸めるのに対し、MROUNDは「倍数」で丸める
- 500円単位・15分単位・50個単位など、自由な刻みで丸められる
- 中間値はゼロから遠い側に丸まる(負の値では絶対値の大きい側)
- 値と倍数の符号は一致させる(不一致なら #NUM! エラー)
- CEILING(切り上げ)・FLOOR(切り捨て)と使い分けると便利
- ROUND・ROUNDUP・ROUNDDOWNは桁数指定の丸めで使う
- ARRAYFORMULAとの組み合わせで範囲一括処理も可能
まずは =MROUND(A1, 100) で100円単位の丸めから試してみてくださいね。

