経理担当者が単価を会社規定にあわせて「10円単位」に丸めたり、購買担当者が発注数量を「1箱12個入り」のケース単位に合わせたりと、実務では小数点以下の桁数ではなく「任意の倍数」に数値を揃えたい場面がよくあります。ROUNDUPやROUNDDOWNは桁数指定でしか丸められないため、こうした「特定の数の倍数への丸め」には対応できません。ここで使うのがCEILING関数とFLOOR関数です。この記事では基本の使い方から、符号違いで起こる#NUM!エラー、ROUNDUPとの混同によるつまずきまで、実務目線で整理します。

CEILING・FLOORの基本構文と「基準値」の考え方

CEILING関数は、指定した基準値の倍数のうち、直近で数値以上になる値に切り上げます。FLOOR関数はその逆で、直近で数値以下になる倍数に切り下げます。どちらも引数は「数値」と「基準値」の2つだけです。

=CEILING(数値, 基準値) / =FLOOR(数値, 基準値)

例:単価237円を10円単位に切り上げる/切り下げる場合
=CEILING(237,10) → 240  =FLOOR(237,10) → 230

基準値には10や100だけでなく、12(ケースの入数)や0.05(通貨の最小単位)のような数値も指定できます。「基準値の倍数のどこに丸めるか」という発想さえ押さえれば、応用範囲は非常に広い関数です。

ROUNDUPとの違いは「桁数」か「任意の倍数」か

CEILING・FLOORとROUNDUP・ROUNDDOWNは、どちらも「端数処理」という点は同じですが、丸める基準がまったく異なります。ROUND系は「小数点以下の桁数」を基準に丸めるのに対し、CEILING・FLOORは「任意の倍数(基準値)」を基準に丸めます。

ROUNDUP/ROUNDDOWN

  • 桁数で丸める
  • 例:-1で10の位、2で小数第2位

CEILING

  • 基準値の倍数に切り上げ
  • 例:10円単位、12個単位

FLOOR

  • 基準値の倍数に切り下げ
  • 例:15分単位、100円単位

たとえば「237を10の位で切り上げたい」という結果だけを見るとROUNDUP(237,-1)とCEILING(237,10)は同じ240になりますが、基準値が7や12のような「10のべき乗ではない倍数」になった瞬間、ROUNDUPでは対応できなくなります。ケース単位の発注数量のように「10進法のキリの良い数」ではない倍数に揃えたい場合は、CEILING・FLOORが必須です。

実務でのよくある使用シーン

経理担当者であれば、社内の値付けルールで「税込単価は10円単位に切り上げて表示する」と決まっている場合に、CEILING(税込単価,10)で自動的に丸めた金額を請求書や見積書に反映させる使い方が典型的です。営業事務・購買担当者であれば、必要数量を計算した結果が半端になったとき、「1箱12個入り」のようなケース単位に合わせて発注書の数量を確定させる場面でCEILINGを使います。たとえば必要数が130個であれば、CEILING(130,12)で132個(=12箱分)に切り上げ、不足なく発注できるようにします。総務担当者であれば、勤怠管理で退勤時刻を15分単位に切り捨てる社内ルールがある場合、FLOOR関数で退勤時刻を丸めて残業時間の集計に使うケースもあります。

CEILING・FLOORでよくあるエラー・トラブルと対処法

#NUM! エラー

数値と基準値の符号(プラス・マイナス)が食い違っているときに発生する、CEILING・FLOOR特有のエラーです。

例:=CEILING(-237,10) → 数値がマイナス、基準値がプラスで符号が不一致

対処法として、マイナスの数値を丸めたい場合は基準値の符号も揃えて=CEILING(-237,-10)のように書きます。前月比の増減額のようにマイナスの値が混在する列に数式をコピーする場合は特に注意が必要です。

数式エラー(引数不足)

ROUNDUPと同じ感覚で基準値を省略できると思い込み、数値だけを指定して確定しようとすると発生します。

例:=CEILING(237) と入力してEnterを押すと「この数式には問題があります」という警告が出て確定できない

CEILING関数もFLOOR関数も「数値」と「基準値」の2つの引数がどちらも必須です。桁数を省略した書き方に慣れていると陥りやすいミスなので、必ず基準値までセットで入力する癖をつけましょう。

意図しない結果(エラーは出ないが数値が変わらない)

「切り上げ」という言葉のイメージからROUNDUPと混同し、基準値に桁数のような小さい数字を入れてしまうケースです。

例:10円単位に丸めたいのに =CEILING(237,1) と書いてしまい、237のまま結果が変わらない

CEILINGの基準値は「桁数」ではなく「丸める先の倍数そのもの」です。10円単位なら10、100円単位なら100というように、揃えたい実際の数値を基準値に入力することを徹底してください。

初心者がつまずきやすいポイントとコツ

まとめ

CEILING・FLORは「小数点以下の桁数」で丸めるROUNDUP・ROUNDDOWNとは異なり、「任意の倍数(基準値)」に数値を揃えるための関数です。10円単位の値付けや12個入りケースへの発注数量調整など、10進法のキリの良い桁数では対応できない場面で真価を発揮します。つまずきやすいのは、基準値を省略してしまう入力ミスと、数値・基準値の符号が食い違うことで起こる#NUM!エラーの2点です。基準値には「揃えたい倍数の実際の数値」を必ずセットで入力し、マイナスの数値を扱う場合は符号を揃えることを意識すれば、実務でも安心して使えます。数式を一から組み立てるのが不安な方は、下のツールで日本語の空欄を埋めるだけで数式を作成できます。

よくある質問

CEILING関数で基準値を省略したらエラーになりました。省略できないのですか?
省略できません。CEILING関数もFLOOR関数も「数値」と「基準値」の2つの引数がどちらも必須です。=CEILING(237)のように基準値を書かずに数式を確定しようとすると、Excelが「この数式には問題があります」という警告を出して受け付けません。ROUNDUPのように桁数を省略できる関数と混同しないよう、必ず基準値までセットで入力してください。
CEILINGで#NUM!エラーが出るのはなぜですか?
数値と基準値の符号(プラス・マイナス)が食い違っているのが原因です。CEILING/FLOORはどちらも数値がマイナスの場合は基準値もマイナスで指定する必要があり、符号が一致していないと#NUM!エラーになります。マイナスの数値を丸めたい場合は、基準値の前にも-(マイナス)を付けて符号を揃えてください。
CEILINGとROUNDUP、結局何が違うのですか?
丸める基準が異なります。ROUNDUPは「小数点以下の桁数」を指定して丸める関数で、桁数は-1や2のような数値で指定します。一方CEILINGは「任意の倍数(基準値)」を指定して、その倍数のうち直近で大きい値に丸める関数です。10円単位や12個入りのケース単位のように、桁数ではなく「特定の数の倍数」に揃えたい場合はCEILING・FLOORを使います。

関連記事

→ CEILING/FLOORの数式を作ってみる ← 記事一覧に戻る