スプレッドシートのCEILING関数の使い方|切り上げ(倍数指定)
「見積金額を100円単位に切り上げたい」「作業時間を15分単位に切り上げたい」。そんな場面はありませんか?
ROUNDUP関数は「桁数」で切り上げる関数です。でも「100円刻み」「15分刻み」のような倍数指定には不向きです。
そんなときに使うのがCEILING関数です。指定した倍数の方向へ常に切り上げてくれます。
この記事では基本の書き方から倍数の指定パターン、実務での使いどころまで紹介します。
CEILING関数とは?
CEILING関数(読み方: シーリング関数)は、数値を指定した倍数の方向へ常に切り上げる関数です。
名前は英語の「ceiling(天井)」が由来です。天井の方向へ丸めるイメージですね。「1,280円」を500円単位で切り上げると「1,500円」です。
MROUND関数との最大の違いは「丸めの方向」です。MROUND関数は最も近い倍数に丸めます。一方、CEILING関数は常に切り上げ方向です。
CEILING関数にできることをまとめると、次のとおりです。
- 数値を指定した倍数の方向へ常に切り上げる
- 100円単位・500円単位の見積金額切り上げに使う
- 15分単位・30分単位の作業時間切り上げに使う
- 50個単位・100個単位の発注数切り上げに使う
NOTE
CEILING関数はGoogleスプレッドシートの全バージョンで使えます。Excelとの互換性も高いです。
CEILING関数の書き方(構文と引数)
基本構文
=CEILING(値, 倍数)
カッコの中に「切り上げたい数値」と「何の倍数に切り上げるか」を指定します。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 値 | 必須 | 切り上げたい数値やセル参照、数式 |
| 倍数 | 任意 | 切り上げる基準となる倍数(省略時は1) |
倍数を省略すると「1」が使われます。つまり整数への切り上げになります。
MROUND関数の第2引数も「倍数」です。ただしMROUNDは最も近い倍数に丸めます。CEILINGは常に切り上げ方向。この違いが使い分けのカギです。
倍数の指定パターン
CEILING関数は倍数の値によって切り上げの刻みが変わります。代表的なパターンを表にまとめます。
| 倍数 | 意味 | 例: CEILING(1234, 倍数) | 結果 |
|---|---|---|---|
| 1000 | 1,000単位に切り上げ | =CEILING(1234, 1000) | 2000 |
| 500 | 500単位に切り上げ | =CEILING(1234, 500) | 1500 |
| 100 | 100単位に切り上げ | =CEILING(1234, 100) | 1300 |
| 50 | 50単位に切り上げ | =CEILING(1234, 50) | 1250 |
| 10 | 10単位に切り上げ | =CEILING(1234, 10) | 1240 |
| 5 | 5単位に切り上げ | =CEILING(1234, 5) | 1235 |
| 0.5 | 0.5単位に切り上げ | =CEILING(1.3, 0.5) | 1.5 |
| 0.1 | 0.1単位に切り上げ | =CEILING(1.31, 0.1) | 1.4 |
倍数を変えるだけで切り上げの刻みを自由に設定できます。ROUNDUP関数の桁数パターンよりも直感的です。
TIP
倍数に小数を指定することもできます。「0.25刻み」なら
=CEILING(A1, 0.25)です。
基本的な使い方
整数を100単位に切り上げる
いちばんシンプルな例です。A2に金額が入っているとします。
=CEILING(A2, 100)
A2が「1,280円」なら結果は「1,300円」です。「1,201円」でも「1,300円」に切り上がります。端数が1円でもあれば次の100の倍数になります。
小数を0.5単位に切り上げる
評価スコアを0.5刻みに切り上げたい場面です。
=CEILING(B2, 0.5)
B2が「3.1」なら「3.5」に切り上がります。「3.6」なら「4.0」です。「3.0」ちょうどなら端数がないのでそのままです。
ちょうど倍数のときの動作
元の値がすでに倍数ちょうどの場合、CEILING関数は切り上げません。
=CEILING(1500, 500)
結果は「1500」です。「2000」にはなりません。切り上げる端数がなければ、値はそのまま返ります。
実務で使える活用パターン
100円単位の見積金額切り上げ
見積書で端数を切り上げて利益を確保したいときに便利です。A2に計算上の金額が入っているとします。
=CEILING(A2, 100)
「45,678円」なら「45,700円」に切り上がります。端数を切り上げることで値引き交渉の余地を確保できますよ。
MROUND関数だと下に丸まるケースもあります。常に切り上げたいならCEILING関数のほうが安全です。
15分単位の作業時間切り上げ
「15分未満の作業時間を切り上げる」ルールの場合です。C2に時刻が入っているとします。
=CEILING(C2, "0:15")
時刻データの場合は倍数を「”0:15″」のように時刻形式で指定します。「9:07」なら「9:15」に切り上がります。
NOTE
切り捨てたい場合はFLOOR関数を使います。最も近い15分に丸めたいならMROUND関数です。会社のルールに合わせて選んでください。
50個単位の発注数切り上げ
発注ロットを50個単位にそろえたいときに使います。B2に必要数量が入っているとします。
=CEILING(B2, 50)
必要数が「120個」なら「150個」に切り上がります。在庫切れを防ぎたい発注シーンではCEILING関数が安全です。
MROUND関数だと「120個→100個」に丸まり20個不足します。欠品を防ぐならCEILING関数を選びましょう。
500円単位の価格切り上げ
商品の売価を500円単位に切り上げたいケースです。
=CEILING(A2, 500)
計算で「1,680円」になった場合、「2,000円」に切り上がります。MROUND関数なら「1,500円」です。利益を確保したいならCEILING関数が向いています。
よくあるエラーと対処法
CEILING関数はシンプルな関数ですが、エラーが出ることもあります。
| エラー | 原因 | 対処法 |
|---|---|---|
| #NUM! | 正の値に負の倍数を指定した | 値と倍数の符号をそろえる |
| #VALUE! | 値や倍数に文字列が入っている | セル参照先が数値かどうか確認する |
| #ERROR! | 構文ミス(カンマ忘れ等) | 数式の入力内容を見直す |
| 結果が0 | 倍数に0を指定している | 0以外の倍数を指定する |
| 切り上がらない | 値がすでに倍数ちょうどだった | 元の値を確認する |
値と倍数の符号について
GoogleスプレッドシートのCEILING関数では、正の値に負の倍数を指定すると#NUM!エラーになります。
=CEILING(1280, -500)
結果は#NUM!エラーです。正の値を切り上げるには正の倍数を使ってください。
負の値には負の倍数を指定します。
=CEILING(-1280, -500)
結果は「-1000」です。負の数では0に近づく方向が「切り上げ」になります。
倍数に0を指定したとき
倍数に0を指定すると結果は0になります。
=CEILING(1234, 0)
結果は「0」です。意図せず倍数のセルが空や0になっていないか確認しましょう。
似た関数との違い・使い分け
スプレッドシートには倍数で丸める関数が3つあります。丸めの方向が異なるので、目的に応じて使い分けましょう。
| 関数 | 丸め方 | 第2引数 | 使いどころ |
|---|---|---|---|
| CEILING | 常に切り上げ(倍数) | 倍数 | 不足させたくない場面(発注数・見積) |
| MROUND | 最も近い倍数 | 倍数 | 価格設定・見積金額の中立的な丸め |
| FLOOR | 常に切り捨て(倍数) | 倍数 | 余分に取りたくない場面(勤怠切り捨て) |
| ROUND | 四捨五入 | 桁数 | 小数第2位・10の位など桁数指定の丸め |
| ROUNDUP | 常に切り上げ | 桁数 | 箱数計算など桁数指定の切り上げ |
| ROUNDDOWN | 常に切り捨て | 桁数 | 消費税切り捨てなど桁数指定の切り捨て |
CEILING・MROUND・FLOORの使い分け
この3関数は「倍数で丸める」という共通点があります。違いは丸めの方向だけです。
具体例で比較しましょう。「1,280円」を500円単位で丸める場合です。
=CEILING(1280, 500) → 1500(切り上げ)
=MROUND(1280, 500) → 1500(最も近い倍数)
=FLOOR(1280, 500) → 1000(切り捨て)
次に「1,680円」で比較します。
=CEILING(1680, 500) → 2000(切り上げ)
=MROUND(1680, 500) → 1500(最も近い倍数)
=FLOOR(1680, 500) → 1500(切り捨て)
1,280円ではCEILINGもMROUNDも「1,500円」です。しかし1,680円では結果が分かれます。CEILINGは「2,000円」、MROUNDは「1,500円」です。MROUNDは下がることもありますが、CEILINGは常に上がります。
使い分けの基準は次のとおりです。
- 不足を防ぎたい → CEILING
- 中立的に丸めたい → MROUND
- 余分を出したくない → FLOOR
CEILINGとROUNDUPの使い分け
CEILING関数とROUNDUP関数はどちらも「常に切り上げる」関数です。違いは第2引数の指定方法です。
- CEILING: 「倍数」で指定(500単位、100単位、0.25刻みなど)
- ROUNDUP: 「桁数」で指定(小数第2位、10の位など)
「500円単位に切り上げたい」ならCEILING関数が直感的です。「小数第1位で切り上げたい」ならROUNDUP関数です。
500や15、50のような倍数はROUNDUP関数では対応できません。この場合はCEILING関数の出番です。
TIP
丸め関数の個別記事もチェックしてみてください。ROUND・ROUNDUP・ROUNDDOWN・MROUND・FLOOR・INTで詳しく解説しています。
Excelとの違い
CEILING関数はExcelとGoogleスプレッドシートで基本動作は同じですが、細かい仕様が異なります。
| 項目 | Excel | Googleスプレッドシート |
|---|---|---|
| 構文 | =CEILING(数値, 基準値) | =CEILING(値, 倍数) |
| 動作 | 倍数の方向へ切り上げ | 倍数の方向へ切り上げ |
| 倍数の省略 | 省略不可 | 省略可(デフォルト1) |
| 負の値 + 負の倍数 | 0から離れる方向 | 0に近づく方向 |
| 後継関数 | CEILING.MATH / CEILING.PRECISE | なし |
最も大きな違いは「負の値の丸め方向」です。Excelでは負の値に負の倍数を指定すると0から離れる方向に丸めます。Sheetsでは0に近づく方向です。正の値だけなら結果は同じです。
TIP
Excelの後継関数についてはCEILING.MATHとCEILING.PRECISEの比較記事で解説しています。
まとめ
CEILING関数は、数値を指定した倍数の方向へ常に切り上げる関数です。
ポイントを整理します。
- 構文は
=CEILING(値, 倍数)の2引数だけ - MROUND関数が「最も近い倍数」に丸めるのに対し、CEILINGは「常に切り上げ」
- 100円単位の見積切り上げ・15分単位の時間切り上げ・50個単位の発注切り上げに便利
- 対称ペアのFLOOR関数は常に切り捨て方向
- ROUNDUP関数は桁数指定の切り上げ、CEILING関数は倍数指定の切り上げ
まずは =CEILING(A1, 100) で100円単位の切り上げから試してみてください。
