「CEILING関数やCEILING.MATH関数があるのに、CEILING.PRECISEって何が違うの?」。そう思った方も多いのではないでしょうか。
スプレッドシートには切り上げ系の関数が複数あります。名前も似ていて、使い分けに迷いますよね。
CEILING.PRECISE関数は、倍数の符号を一切気にせず、常に数直線上で大きい方向に切り上げてくれる関数です。引数も2つだけなので、シンプルに使えます。
この記事では基本の書き方からCEILING関数・CEILING.MATH関数との違い、実務での使いどころまで紹介します。
スプレッドシートのCEILING.PRECISE関数とは?
CEILING.PRECISE関数(読み方: シーリング プリサイス関数)は、数値を指定した倍数の方向へ切り上げる関数です。
名前の「PRECISE」は「正確な・精密な」という意味です。CEILING関数の改良版として追加されました。
最大の特徴は「倍数の絶対値」を使う点です。倍数に負の値を指定しても、正の値と同じ動作をします。つまり、常に数直線上で大きい方向(正方向)に切り上げます。
CEILING.PRECISE関数にできることをまとめると、次のとおりです。
- 正の数を指定した倍数の方向へ切り上げる
- 負の数を常に「大きい方向(0に近い方向)」に切り上げる
- 倍数が正でも負でも同じ結果になる(絶対値を使うため)
- 倍数を省略すると整数に切り上げる
NOTE
CEILING.PRECISE関数はGoogleスプレッドシートの全バージョンで使えます。ExcelではExcel 2010以降で対応しています。
CEILING.PRECISE関数の書き方(構文と引数)
基本構文
=CEILING.PRECISE(数値, 倍数)
カッコの中に「切り上げたい数値」と「倍数」を指定します。CEILING.MATH関数と違い、mode引数はありません。常に大きい方向への切り上げです。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 数値 | 必須 | 切り上げたい数値やセル参照、数式 |
| 倍数 | 任意 | 切り上げる基準となる倍数(省略時は1) |
倍数を省略すると「1」が使われます。つまり整数への切り上げです。
倍数に負の値を指定しても、絶対値として扱われます。たとえば倍数に「-100」を指定しても「100」と同じ結果です。
TIP
引数が2つだけなのでシンプルです。「倍数の符号を気にしなくていい」というのがCEILING.PRECISE関数の最大のメリットですよ。
基本的な使い方
正の数を整数に切り上げる
いちばんシンプルな例です。A2に小数が入っているとします。
=CEILING.PRECISE(A2)
A2が「3.2」なら結果は「4」です。倍数を省略すると、整数への切り上げになります。
正の数を100単位に切り上げる
=CEILING.PRECISE(A2, 100)
A2が「1,280」なら結果は「1,300」です。正の数ではCEILING関数やCEILING.MATH関数と結果は同じです。
負の数を切り上げる
CEILING.PRECISE関数は、負の数を常に「大きい方向(0に近い方向)」に切り上げます。
=CEILING.PRECISE(-7.3)
結果は「-7」です。数直線で見ると「-7.3」より大きい整数「-7」に切り上がります。
倍数に負の値を指定した場合
倍数の符号は無視されます。これがCEILING.PRECISE関数の特徴です。
=CEILING.PRECISE(-7.3, -1)
結果は「-7」です。倍数に「-1」を指定しても「1」と同じ動作です。
ちょうど倍数のときの動作
元の値がすでに倍数ちょうどの場合、切り上げは起きません。
=CEILING.PRECISE(1500, 500)
結果は「1500」です。「2000」にはなりません。端数がなければ値はそのまま返ります。
CEILING関数・CEILING.MATH関数との違い
CEILING系関数は3つありますが、違いは「負の数の扱い」と「引数の数」に集中しています。正の数では3つとも同じ結果です。
3関数の比較表
| 項目 | CEILING | CEILING.MATH | CEILING.PRECISE |
|---|---|---|---|
| 引数の数 | 2 | 3(mode付き) | 2 |
| 倍数の符号 | 数値と同じ符号が必要 | 符号を無視 | 符号を無視(絶対値) |
| 負の数の方向 | 0に近づく(負の倍数で指定) | mode=0: 0に近づく / mode=1: 0から離れる | 常に0に近づく |
| 方向の切り替え | できない | mode引数で可能 | できない(常に正方向) |
負の数での比較(具体例)
「-1280」を100単位で丸めてみましょう。
| 数式 | 結果 | 方向 |
|---|---|---|
| =CEILING(-1280, -100) | -1200 | 0に近づく |
| =CEILING.MATH(-1280, 100) | -1200 | 0に近づく(デフォルト) |
| =CEILING.MATH(-1280, 100, 1) | -1300 | 0から離れる |
| =CEILING.PRECISE(-1280, 100) | -1200 | 0に近づく(常にこの方向) |
CEILING.PRECISE関数とCEILING.MATH関数(mode=0)は同じ結果です。違いは「方向を切り替えられるかどうか」です。
どの関数を使うべき?
| 場面 | おすすめ |
|---|---|
| 正の数だけ扱う | どれでもOK(結果は同じ) |
| 負の数も扱う(常に大きい方向でいい) | CEILING.PRECISE(引数がシンプル) |
| 負の数の方向を切り替えたい | CEILING.MATH(mode引数で制御) |
| 負の倍数を明示的に指定したい | CEILING(レガシーな書き方) |
NOTE
迷ったらCEILING.PRECISE関数がおすすめです。引数が2つだけで、倍数の符号を気にする必要がありません。方向を切り替えたくなったらCEILING.MATH関数に変えましょう。
実務で使える活用パターン
価格を100円単位に切り上げる
見積金額の端数を100円単位で切り上げたい場面です。
=CEILING.PRECISE(A2, 100)
A2が「2,750」なら結果は「2,800」です。「3,120」なら「3,200」になります。見積書で端数をきれいに揃えたいときに便利ですよ。
時間を15分単位に切り上げる
作業時間の記録を15分刻みにしたい場合です。スプレッドシートでは時間は「1日=1」の小数値(シリアル値)で管理されています。15分は "0:15" で指定できます。
=CEILING.PRECISE(A2, "0:15")
A2が「9:07」なら結果は「9:15」です。「10:31」なら「10:45」になります。勤怠管理や作業報告で活用してみてください。
送料計算で重量を0.5kg単位に切り上げる
配送料が0.5kg刻みで変わるケースです。
=CEILING.PRECISE(A2, 0.5)
A2が「1.3」なら結果は「1.5」です。「2.7」なら「3.0」になります。実際の重量より多めに切り上げることで、送料の計算ミスを防げます。
負の値を含む損益データの切り上げ
損益データには利益(正の数)と損失(負の数)が混在します。CEILING.PRECISE関数なら符号を気にせず同じ数式で処理できます。
=CEILING.PRECISE(A2, 100)
A2が「-456」なら「-400」です。「567」なら「600」です。どちらの符号でも倍数は「100」のままでOKです。
TIP
正の数だけの切り上げならCEILING関数でも十分です。負の数が混在するデータではCEILING.PRECISE関数を選ぶと安心ですよ。
よくあるエラーと対処法
CEILING.PRECISE関数は倍数の符号を気にしなくていいぶん、エラーが起きにくい関数です。それでもいくつか注意点があります。
| エラー | 原因 | 対処法 |
|---|---|---|
| #VALUE! | 数値や倍数に文字列が入っている | セル参照先が数値かどうか確認する |
| #ERROR! | 構文ミス(カンマ忘れ、関数名の入力ミス等) | 数式の入力内容を見直す |
| 結果が0 | 倍数に0を指定している | 0以外の倍数を指定する |
CEILING関数との違い: #NUM!エラーが起きない
CEILING関数では「正の数 + 負の倍数」で#NUM!エラーになります。CEILING.PRECISE関数ではこのエラーは起きません。
=CEILING(1280, -100) → #NUM!エラー
=CEILING.PRECISE(1280, -100) → 1300(エラーにならない)
倍数の符号を間違えてもエラーにならないのは、CEILING.PRECISE関数の大きな利点です。
倍数に0を指定したとき
倍数に0を指定すると結果は0になります。
=CEILING.PRECISE(1234, 0)
結果は「0」です。倍数のセルが空や0になっていないか確認しましょう。
似た関数との違い・使い分け
スプレッドシートには切り上げ・切り捨て系の関数が複数あります。丸めの方向と引数の違いで使い分けましょう。
| 関数 | 丸め方 | 第2引数 | 負の数の扱い |
|---|---|---|---|
| CEILING.PRECISE | 倍数の方向へ切り上げ | 倍数 | 常に0に近づく(大きい方向) |
| CEILING.MATH | 倍数の方向へ切り上げ | 倍数 | mode引数で方向制御 |
| CEILING | 倍数の方向へ切り上げ | 倍数 | 負の倍数が必要 |
| MROUND | 最も近い倍数に丸め | 倍数 | 符号をそろえる必要あり |
| FLOOR.MATH | 倍数の方向へ切り捨て | 倍数 | mode引数で方向制御 |
| FLOOR | 倍数の方向へ切り捨て | 倍数 | 負の倍数が必要 |
| ROUNDUP | 常に切り上げ | 桁数 | 0から離れる方向 |
| ROUNDDOWN | 常に切り捨て | 桁数 | 0に近づく方向 |
| INT | 整数に切り捨て | なし | 常に小さい方向 |
CEILING.PRECISEとCEILING.MATHの使い分け
| 場面 | おすすめ |
|---|---|
| 常に大きい方向に切り上げたい | CEILING.PRECISE |
| 負の数で方向を切り替えたい | CEILING.MATH |
| 引数をシンプルにしたい | CEILING.PRECISE |
CEILING.PRECISEとROUNDUPの使い分け
どちらも「切り上げ」ですが、指定方法が異なります。
- CEILING.PRECISE: 「倍数」で指定(100単位、500単位など)
- ROUNDUP: 「桁数」で指定(小数第2位、10の位など)
500円単位の切り上げならCEILING.PRECISE、小数第1位での切り上げならROUNDUPが向いています。
TIP
丸め関数の個別記事もチェックしてみてください。CEILING・CEILING.MATH・FLOOR.MATH・FLOOR・MROUND・ROUNDUP・ROUNDDOWN・INTで詳しく解説しています。
まとめ
CEILING.PRECISE関数は、数値を指定した倍数の方向へ切り上げる関数です。倍数の符号を無視して常に大きい方向(正方向)に切り上げるのが最大の特徴です。
ポイントを整理します。
- 構文は
=CEILING.PRECISE(数値, 倍数)の2引数でシンプル - 倍数の符号は無視される(絶対値として使われる)
- 正の数ではCEILING関数・CEILING.MATH関数と結果は同じ
- 負の数では常に0に近づく方向に切り上げる(方向の切り替えはできない)
- 方向を切り替えたい場合はCEILING.MATH関数のmode引数を使う
- FLOOR.MATH関数はペアの切り捨て関数
まずは =CEILING.PRECISE(A1, 100) で100単位の切り上げから試してみてください。倍数の符号を気にしなくていいので、数式がシンプルに保てますよ。
