スプレッドシートのCEILING.MATH関数の使い方|正方向に切り上げ

スポンサーリンク

「負の数を切り上げたら、なぜか期待と逆の結果になった」。そんな経験はありませんか?

CEILING関数は、正の数では問題なく切り上げてくれます。でも負の数になると「どちらが切り上げ?」と混乱しがちです。

そこで使いたいのがCEILING.MATH関数です。正の数でも負の数でも、常に「大きい方向」に切り上げてくれます。さらに第3引数のmodeで方向を切り替えることもできます。

この記事では基本の書き方からCEILING関数との違い、実務での使いどころまで紹介します。

CEILING.MATH関数とは?

CEILING.MATH関数(読み方: シーリング マス関数)は、数値を指定した倍数の方向へ切り上げる関数です。

名前の「MATH」は「Mathematics(数学)」の略です。CEILING関数の改良版で、負の数の扱いが違います。

CEILING関数との最大の違いは「負の数の切り上げ方向」です。CEILING関数は負の数に負の倍数を指定する必要があります。一方、CEILING.MATH関数は正の倍数のまま使えます。mode引数で方向を制御できるのもポイントです。

CEILING.MATH関数にできることをまとめると、次のとおりです。

  • 正の数を指定した倍数の方向へ切り上げる(CEILINGと同じ)
  • 負の数を「大きい方向(0に近い方向)」に切り上げる(デフォルト)
  • 負の数を「小さい方向(0から離れる方向)」に切り上げることもできる(mode指定)
  • 倍数を省略すると整数に切り上げる

NOTE

CEILING.MATH関数はGoogleスプレッドシートの全バージョンで使えます。ExcelではExcel 2013以降で対応しています。

CEILING.MATH関数の書き方(構文と引数)

基本構文

=CEILING.MATH(数値, 倍数, mode)

カッコの中に「切り上げたい数値」「倍数」「丸めの方向」を指定します。

引数の説明

引数必須/任意説明
数値必須切り上げたい数値やセル参照、数式
倍数任意切り上げる基準となる倍数(省略時は1)
mode任意負の数の丸め方向(省略時は0)

倍数を省略すると「1」が使われます。つまり整数への切り上げです。

modeは正の数には影響しません。負の数のときだけ動作が変わります。

mode負の数の丸め方向例: CEILING.MATH(-7.3, 1, mode)
0(デフォルト)大きい方向(0に近づく)-7
1小さい方向(0から離れる)-8

TIP

modeは「0以外の値」を指定するとmode=1と同じ動作になります。0か0以外かの判定です。

基本的な使い方

正の数を整数に切り上げる

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

=CEILING.MATH(A2)

A2が「3.2」なら結果は「4」です。倍数もmodeも省略すると、整数への切り上げになります。これは =CEILING(A2, 1) と同じ結果です。

正の数を100単位に切り上げる

=CEILING.MATH(A2, 100)

A2が「1,280」なら結果は「1,300」です。CEILING関数と結果は同じです。正の数ではどちらを使っても変わりません。

負の数を大きい方向に切り上げる(デフォルト)

ここからがCEILING.MATH関数の出番です。

=CEILING.MATH(-7.3)

結果は「-7」です。modeを省略(=0)すると、0に近い方向に丸めます。数直線で見ると「-7.3」より大きい整数「-7」に切り上がります。

負の数を小さい方向に切り上げる(mode=1)

=CEILING.MATH(-7.3, 1, 1)

結果は「-8」です。mode=1にすると、0から離れる方向に丸めます。数直線で見ると「-7.3」より小さい整数「-8」になります。

ちょうど倍数のときの動作

元の値がすでに倍数ちょうどの場合、CEILING.MATH関数は切り上げません。

=CEILING.MATH(1500, 500)

結果は「1500」です。「2000」にはなりません。端数がなければ値はそのまま返ります。

CEILING関数との違い(負の数の挙動比較)

CEILING.MATH関数とCEILING関数の違いは、負の数の扱いに集中しています。正の数では結果は同じです。

正の数での比較

数式結果
=CEILING(1280, 100)1300
=CEILING.MATH(1280, 100)1300

正の数ではどちらも同じ結果です。使い分ける必要はありません。

負の数での比較

ここが2つの関数の大きな違いです。「-1280」を100単位で丸めてみましょう。

数式結果方向
=CEILING(-1280, -100)-12000に近づく
=CEILING.MATH(-1280, 100)-12000に近づく(デフォルト)
=CEILING.MATH(-1280, 100, 1)-13000から離れる

CEILING関数で負の数を扱うには「負の倍数」を指定する必要があります。正の倍数を指定すると#NUM!エラーです。

一方、CEILING.MATH関数は倍数を正のまま使えます。第3引数のmodeで方向を切り替えるだけです。

どちらを使うべき?

  • 正の数だけ扱う → どちらでもOK(結果は同じ)
  • 負の数も扱う → CEILING.MATH関数がおすすめ(倍数の符号を気にしなくていい)
  • Excelとの互換性を重視 → CEILING.MATH関数(Excel 2013以降で同じ動作)

NOTE

CEILING関数は正の値に負の倍数を指定すると#NUM!エラーになります。CEILING.MATH関数なら倍数は常に正の値で統一できるので、エラーを避けやすいです。

実務で使える活用パターン

損益に負の値が含まれる集計

損益データには正の数(利益)と負の数(損失)が混在します。100円単位で切り上げたいとき、CEILING関数だと符号によって倍数を変える必要があります。

=CEILING.MATH(A2, 100)

A2が「-456」なら「-400」に切り上がります。「567」なら「600」です。符号に関係なく同じ数式で処理できるのがメリットです。

温度データの切り上げ(氷点下を含む)

気温の記録で1度単位に切り上げたい場合です。冬場は氷点下もあるのでCEILING関数だと面倒です。

=CEILING.MATH(B2)

B2が「-2.3」なら「-2」に切り上がります。「3.1」なら「4」です。正負どちらでも同じ数式で対応できます。

mode=1で「安全側」に丸める

在庫の過不足計算で、マイナス(不足)を大きく見積もりたいケースです。

=CEILING.MATH(C2, 10, 1)

C2が「-23」なら「-30」になります。不足数を多めに見積もることで発注漏れを防ぎます。

TIP

正の数だけ扱う場面ではCEILING関数のほうがシンプルです。負の数が混在するデータではCEILING.MATH関数を選びましょう。

よくあるエラーと対処法

CEILING.MATH関数はCEILING関数よりエラーが起きにくい設計ですが、注意点はあります。

エラー原因対処法
#VALUE!数値や倍数に文字列が入っているセル参照先が数値かどうか確認する
#ERROR!構文ミス(カンマ忘れ、関数名の入力ミス等)数式の入力内容を見直す
結果が0倍数に0を指定している0以外の倍数を指定する
想定と逆の方向に丸まるmodeの指定が逆mode=0(大きい方向)とmode=1(小さい方向)を確認する

CEILING関数との違い: #NUM!エラー

CEILING関数では「正の数 + 負の倍数」で#NUM!エラーになります。CEILING.MATH関数ではこのパターンのエラーは発生しません。倍数の符号を気にせず使えるのがCEILING.MATHの大きな利点です。

=CEILING(1280, -100)      → #NUM!エラー
=CEILING.MATH(1280, -100) → 1300(エラーにならない)

倍数に0を指定したとき

倍数に0を指定すると結果は0になります。

=CEILING.MATH(1234, 0)

結果は「0」です。倍数のセルが空や0になっていないか確認しましょう。

似た関数との違い・使い分け

スプレッドシートには切り上げ系の関数が複数あります。丸めの方向と引数の違いで使い分けましょう。

関数丸め方第2引数負の数の扱い
CEILING.MATH倍数の方向へ切り上げ倍数mode引数で方向制御
CEILING倍数の方向へ切り上げ倍数負の倍数が必要
MROUND最も近い倍数に丸め倍数符号をそろえる必要あり
FLOOR.MATH倍数の方向へ切り捨て倍数mode引数で方向制御
FLOOR倍数の方向へ切り捨て倍数負の倍数が必要
ROUND四捨五入桁数正負どちらも対応
ROUNDUP常に切り上げ桁数0から離れる方向
ROUNDDOWN常に切り捨て桁数0に近づく方向
INT整数に切り捨てなし常に小さい方向

CEILING.MATHとCEILINGの使い分け

場面おすすめ
正の数だけ扱うどちらでもOK
負の数も扱うCEILING.MATH
倍数の符号を統一したいCEILING.MATH
シンプルに書きたい(正の数のみ)CEILING

CEILING.MATHとROUNDUPの使い分け

どちらも「切り上げ」ですが、指定方法が異なります。

  • CEILING.MATH: 「倍数」で指定(100単位、500単位など)
  • ROUNDUP: 「桁数」で指定(小数第2位、10の位など)

500円単位の切り上げならCEILING.MATH、小数第1位での切り上げならROUNDUPが向いています。

TIP

丸め関数の個別記事もチェックしてみてください。ROUNDROUNDUPROUNDDOWNMROUNDCEILINGFLOOR.MATHFLOORINTで詳しく解説しています。

まとめ

CEILING.MATH関数は、数値を指定した倍数の方向へ切り上げる関数です。CEILING関数との最大の違いは、負の数の扱いです。

ポイントを整理します。

  • 構文は =CEILING.MATH(数値, 倍数, mode) の3引数
  • 正の数ではCEILING関数と結果は同じ
  • 負の数ではmode引数で方向を制御できる(デフォルトは0に近づく方向)
  • 倍数の符号を気にせず使えるので、正負混在データに便利
  • FLOOR.MATH関数はペアの切り捨て関数
  • ROUNDUP関数は桁数指定、CEILING.MATH関数は倍数指定の切り上げ

まずは =CEILING.MATH(A1, 100) で100単位の切り上げから試してみてください。正の数だけならCEILING関数でも同じ結果ですが、負の数が出てきたときにCEILING.MATHなら安心です。

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