スプレッドシートのMROUND関数で倍数丸め|500円単位の価格・15分単位の勤怠・50個ロット発注を1関数で整える

スポンサーリンク

スプレッドシートで「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, 倍数)結果
10001,000単位に丸め=MROUND(1234, 1000)1000
500500単位に丸め=MROUND(1234, 500)1000
100100単位に丸め=MROUND(1234, 100)1200
5050単位に丸め=MROUND(1234, 50)1250
1010単位に丸め=MROUND(1234, 10)1230
55単位に丸め=MROUND(1234, 5)1235
0.50.5単位に丸め=MROUND(1.3, 0.5)1.5
0.10.1単位に丸め=MROUND(1.34, 0.1)1.3
0.250.25単位に丸め=MROUND(1.34, 0.25)1.25
01 data mround patterns

ポイントは「倍数を変えるだけで丸める刻みを自由に変えられる」ことです。ROUND関数の桁数パターンよりも直感的に理解できますよ。

TIP

倍数に小数を指定することもできます。たとえば「0.25刻み」で丸めたい場合は =MROUND(A1, 0.25) です。0.1単位や0.05単位など、評価点・スコア集計でよく使うパターンですよ。

基本的な使い方

整数を100単位に丸める

いちばんシンプルな例です。A2に金額が入っているとします。

=MROUND(A2, 100)
02 formula mround basic

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)
03 result mround price

たとえば計算で「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(切り捨て)
04 result comparison

使い分けの基準は次のとおりです。

  • 中立的に丸めたい → 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スプレッドシートでほぼ同じ動作です。

項目ExcelGoogleスプレッドシート
構文=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(切り捨て)と使い分けると便利
  • ROUNDROUNDUPROUNDDOWNは桁数指定の丸めで使う
  • ARRAYFORMULAとの組み合わせで範囲一括処理も可能

まずは =MROUND(A1, 100) で100円単位の丸めから試してみてくださいね。

タイトルとURLをコピーしました