ExcelのISO.CEILING関数の使い方|負の数も正しく切り上げる倍数丸め

スポンサーリンク

Excelで数値を倍数単位で切り上げたいとき、CEILING関数を使う方は多いですよね。ただ、負の数を扱うと #NUM! エラーが出て困った経験はありませんか。

ISO.CEILING関数なら、正の数も負の数も同じ書き方で倍数方向に切り上げられます。実はCEILING.PRECISE関数と完全に同じ動作をする関数です。ISO規格に準拠した名称として独立して用意されています。

この記事ではISO.CEILING関数の基本から実務での活用例、似た関数との使い分けまでまとめて紹介します。

この記事は次のような人におすすめです。

  • 数値を指定した倍数に切り上げたい
  • 負の数を含むデータで切り上げ処理が必要
  • CEILING関数CEILING.MATH関数との違いが気になる
  • 倍数丸め関数を体系的に整理したい

ExcelのISO.CEILING関数とは?

ISO.CEILING関数(読み方:アイ・エス・オー・シーリング)は、数値を指定した倍数の方向に切り上げて丸める関数です。「ISO」は国際標準化機構(International Organization for Standardization)の略ですね。ISO標準に準拠した切り上げ動作をすることから名付けられています。

最大の特徴は、負の数を渡したときの動作です。通常のCEILING関数では、負の数と正の基準値を組み合わせると #NUM! エラーになります。ISO.CEILING関数は符号に関係なく、常に数学的に大きい方向(数直線上で右側)に切り上げます。

たとえば「-7」を3の倍数で切り上げると「-6」です。-7より大きい3の倍数は-6なので、-6が返ります。正の数に対してはCEILING関数と同じ結果になりますよ。

TIP

ISO.CEILING関数は、機能的にはCEILING.PRECISE関数と完全に同じ動作をします。Microsoft公式ドキュメントにも「ISO.CEILING works exactly the same as CEILING.PRECISE」と明記されています。ISO規格名で関数を呼びたい業務システムとの互換性のために残されている、と考えるとわかりやすいですね。

対応バージョンはExcel 2013以降です。Microsoft 365でも使えますよ。

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

基本構文

=ISO.CEILING(数値, [基準値])

引数は2つ。基準値は省略できます。

引数の説明

引数必須/任意内容
数値(number)必須切り上げたい数値。セル参照や数式もOK
基準値(significance)任意切り上げの基準となる倍数。省略時は1

基準値を省略すると「1」が使われます。つまり整数への切り上げですね。数値と基準値の両方が0のときは0が返されます。

基準値に負の値を渡しても、ISO.CEILING関数は絶対値として扱います。基準値「-5」と「5」は同じ意味ですよ。この点もCEILING関数との大きな違いです。

NOTE

旧CEILING関数では、数値と基準値の符号が一致していないと #NUM! エラーになります。負の数を扱うときは ISO.CEILING / CEILING.MATH / CEILING.PRECISE のいずれかを選びましょう。

ISO.CEILING関数の基本的な使い方

整数に切り上げる(基準値を省略)

=ISO.CEILING(7.3)

結果は「8」です。基準値を省略したので、1の倍数(つまり整数)に切り上がります。小数点以下をサッと切り上げたいときに便利ですよ。

指定した倍数に切り上げる

=ISO.CEILING(12, 5)

結果は「15」です。12以上で最も小さい5の倍数は15なので、15が返ります。

=ISO.CEILING(21, 10)

結果は「30」です。21は20より大きいので、次の10の倍数である30に切り上がります。

ちょうど倍数と一致する場合

=ISO.CEILING(20, 5)

結果は「20」です。もともと5の倍数なので、そのまま返されます。切り上げる必要がない場合はそのままの値ですね。

セル参照を使う

A1に「1,234」が入っているとき、100の倍数に切り上げてみましょう。

=ISO.CEILING(A1, 100)

結果は「1,300」です。1,234以上で最も小さい100の倍数が1,300なので、この値が返ります。

ISO.CEILING関数の実践的な使い方・応用例

負の数を倍数で切り上げる

売上差額や在庫の増減など、負の数を含むデータを一律に倍数で丸めたい場面で活躍します。

=ISO.CEILING(-23, 5)

結果は「-20」です。-23より大きい5の倍数は-20なので、-20が返ります。

同じ計算を旧CEILING関数で行うと #NUM! エラーになります。負の数を扱う場面ではISO.CEILING関数が安心ですね。

時刻を15分単位に切り上げる

勤怠管理で出勤時刻を15分単位に切り上げたいときにも使えます。

=ISO.CEILING(A1, "0:15")

A1に「9:07」が入っていれば、結果は「9:15」です。Excelでは時刻もシリアル値という数値として扱うので、15分を表す「0:15」を基準値に指定できますよ。

見積金額を千円単位に切り上げる

見積書で端数を切り上げたいときにも活用できます。

=ISO.CEILING(A1, 1000)

A1に「45,678」が入っていれば、結果は「46,000」です。千円未満の端数をスッキリ切り上げられます。ROUNDUP関数でも同じことはできますが、基準値を直接指定できるISO.CEILING関数の方が直感的ですよ。

正負混在データの倍数丸め

財務分析で「正負どちらでも数学的に大きい方向に丸めたい」場面にも便利です。

=ISO.CEILING(A2, 100)

A2列に正と負の数が混在していても、すべて100の倍数で「数学的に大きい方向」に丸まります。エラーを気にせず数式を一括コピーできるのが強みですね。

ISO.CEILING関数のよくあるエラーと対処法

#VALUE! エラー

数値や基準値に文字列が渡されると発生します。セル参照先が文字列になっていないか確認してみてください。

=ISO.CEILING("abc", 5)   → #VALUE!

数字のように見えても、表示形式が文字列のセルを参照していると同じエラーが出ますよ。VALUE関数で数値化するか、セルの表示形式を「標準」または「数値」に直しましょう。

#NUM! エラー

ISO.CEILING関数は通常 #NUM! エラーが起きにくい設計です。ただし基準値に極端に大きな値を入れると発生する場合があります。基準値が意図した数値になっているかチェックしましょう。

結果が0になる

数値が0の場合、基準値にかかわらず結果は0です。元データが本当に0なのか、計算式の参照先が空セルになっていないか確認してみてくださいね。

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

Excelには似た動作の切り上げ関数がいくつかあります。負の数「-7」を「3」の倍数で切り上げた結果を比較してみましょう。

関数-7を3の倍数で切り上げ基準値の省略特徴
ISO.CEILING-6省略可(既定値1)ISO標準準拠、CEILING.PRECISEと同一動作
CEILING.PRECISE-6省略可(既定値1)ISO.CEILINGと完全同一動作
CEILING.MATH-6(既定)/ -9(mode=1)省略可(既定値1)mode引数で方向制御可
CEILING#NUM!必須旧式、符号一致が必要
ROUNDUP-8(桁数0)桁数を指定倍数指定はできない、絶対値方向丸め

詳しい比較はFLOOR/CEILING系6関数の徹底比較記事も参考にしてください。

CEILING関数との違い

CEILING関数は基準値が必須です。省略するとエラーになります。また、正の基準値に負の数を渡すと #NUM! エラーが出ます。ISO.CEILING関数なら基準値は省略可能で、負の数も問題なく処理できますよ。

正の数だけを扱う場合は、どちらを使っても結果は同じです。

CEILING.PRECISE関数との違い

CEILING.PRECISE関数は、ISO.CEILING関数と完全に同じ動作をします。引数も結果もまったく同一です。

NOTE

動作が同じなのに2つの関数が用意されているのは、ISO規格名(ISO.CEILING)と、Excelの.PRECISE系命名規則の両方に対応するためです。どちらを使っても結果は変わらないので、好みや業務ルールに合わせて選んで構いません。

CEILING.MATH関数との違い

CEILING.MATH関数はISO.CEILING関数と似た動作です。違いは3番目の引数(mode)で負の数の丸め方向を変更できる点ですよ。

  • modeを省略:ISO.CEILINGと同じ(数学的に大きい方向=数直線で右)
  • mode=1:絶対値が大きい方向(負の数ならゼロから遠い方向)

負の数の丸め方向を細かく制御したい場合はCEILING.MATH関数を選びます。シンプルに「常に数学的に大きい方向」でよければISO.CEILING関数が便利ですね。

FLOOR.MATH関数との関係

FLOOR.MATH関数はISO.CEILING関数の反対の動作をします。倍数の方向に「切り捨て」る関数ですね。切り上げと切り捨てをセットで覚えておくと、場面に応じて使い分けやすくなりますよ。

ROUNDUP関数との違い

ROUNDUP関数は「桁数」を指定して切り上げる関数です。ISO.CEILINGは「倍数」を指定します。

  • 100円単位で切り上げ → ISO.CEILING(値, 100) または ROUNDUP(値, -2)
  • 15分単位で切り上げ → ISO.CEILING(値, “0:15”)(ROUNDUPでは難しい)
  • 小数点以下を切り上げ → ISO.CEILING(値) または ROUNDUP(値, 0)

時間や金額の倍数丸めには ISO.CEILING が直感的、桁数指定には ROUNDUP が向いています。

まとめ

ISO.CEILING関数は、数値を指定した倍数の方向に切り上げる関数です。最大の特徴は負の数を渡してもエラーにならず、常に数学的に大きい方向(数直線で右側)に丸めてくれる点です。

ポイントをおさらいしましょう。

  • 基本構文は =ISO.CEILING(数値, [基準値]) で、基準値は省略可能
  • 省略すると整数(1の倍数)に切り上げ
  • 負の数でもエラーなく処理できるのが旧CEILING関数との最大の違い
  • CEILING.PRECISE関数と完全に同じ動作
  • 時刻の15分単位丸めや見積金額の千円単位切り上げなど、実務で幅広く活用できる
  • 対応バージョンはExcel 2013以降・Microsoft 365

正の数だけを扱う場面ではCEILING関数との使い分けに迷いますよね。その場合は「基準値を省略したいか」で選ぶと決めやすいですよ。まずはふだんの業務データで試してみてください。

関連する丸め関数もあわせてチェックしてみてくださいね。

倍数丸め関数を体系的に整理したいときは、ハブ記事もチェックしてみてください。

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