• 作成日 : 2025年8月25日

CEILING関数の使い方:エクセルで数値を指定単位で切り上げる方法

CEILING関数は、数値を指定した基準値の倍数に切り上げるエクセルの数学関数です。価格設定での端数処理、在庫管理での発注単位の調整、時間計算での15分単位への丸め、建築資材の必要数計算など、ビジネスの様々な場面で実用的な切り上げ処理を行うために使用されています。

本記事では、CEILING関数の基本的な使い方から実務での応用例、CEILING.MATH関数やCEILING.PRECISE関数との違い、FLOOR関数との使い分け、そしてよくある計算ミスとその回避方法まで、初心者にも分かりやすく解説します。

CEILING関数の使い方

CEILING関数とは

CEILING関数は、指定した数値を特定の基準値(単位)の倍数に切り上げる関数です。単純な切り上げを行うROUNDUP関数とは異なり、5の倍数、10の倍数、0.5の倍数など、任意の単位で切り上げることができる点が特徴です。たとえば、商品価格を100円単位に切り上げたり、作業時間を15分単位に切り上げたりする場合に使用します。

この関数は、実務において「最小販売単位」「最小発注単位」「最小作業単位」など、ビジネスルールに応じた数値の調整が必要な場面で広く使われています。

基本構文

CEILING関数の構文は次のとおりです。

=CEILING(数値, 基準値)

各引数について詳しく説明します。

数値:切り上げたい数値を指定します。セル参照、数式の結果、直接入力した数値などが使用できます。

基準値:切り上げの単位となる数値を指定します。結果は、この基準値の倍数になります。

基本的な使用例

実際にCEILING関数を使用してみましょう。

=CEILING(4.3, 1)      // 結果:5(1の倍数に切り上げ)

=CEILING(4.3, 5)      // 結果:5(5の倍数に切り上げ)

=CEILING(23, 10)      // 結果:30(10の倍数に切り上げ)

=CEILING(1.5, 0.5)    // 結果:1.5(0.5の倍数に切り上げ)

=CEILING(0.23, 0.05)  // 結果:0.25(0.05の倍数に切り上げ)

負の数の場合:

=CEILING(-4.3, 1)     // 結果:-4(0に向かって切り上げ)

=CEILING(-23, 10)     // 結果:-20

正の数と負の数での動作の違い

CEILING関数は、正の数と負の数で「切り上げ」の方向が異なります。

正の数の場合:より大きい値に向かって切り上げ

=CEILING(12.1, 5)     // 結果:15(12.1→15)

負の数の場合:0に向かって切り上げ(絶対値は小さくなる)

=CEILING(-12.1, 5)    // 結果:-10(-12.1→-10)

CEILING関数の利用シーン

価格設定と端数処理

商品価格や料金の端数を調整する際に活用します。

100円単位での価格設定:

原価:1,234円

販売価格:=CEILING(原価 * 1.3, 100)  // 結果:1,700円

税込価格の10円単位切り上げ:

=CEILING(本体価格 * 1.1, 10)

割引後価格の調整:

=CEILING(定価 * (1 – 割引率), 50)  // 50円単位に切り上げ

在庫管理と発注数量

最小発注単位に合わせた数量計算に使用します。

必要数量の発注単位への切り上げ:

必要数:47個

発注単位:10個

発注数:=CEILING(47, 10)  // 結果:50個

ケース単位での発注:

=CEILING(必要本数, 12) / 12 & “ケース”  // 12本入りケース

複数商品の発注調整:

=CEILING(予測需要 * 安全係数, 最小発注単位)

時間計算と勤怠管理

労働時間を特定の単位に切り上げる処理に使用します。

15分単位での勤務時間計算:

実働時間:7.38時間

=CEILING(7.38, 0.25)  // 結果:7.5時間(7時間30分)

残業時間の30分単位切り上げ:

=CEILING(実残業時間, 0.5)

タイムカードの打刻時間処理:

退勤時刻の15分単位切り上げ:

=CEILING(退勤時刻 * 24, 0.25) / 24

建築・製造での資材計算

必要資材を販売単位に切り上げる計算に使用します。

板材の必要枚数(1枚単位):

必要面積:25.3㎡

1枚の面積:3㎡

必要枚数:=CEILING(25.3 / 3, 1)  // 結果:9枚

コンクリートの発注量(0.5㎥単位):

=CEILING(必要量, 0.5) & “㎥”

配管の必要本数(定尺単位):

=CEILING(総延長 / 定尺長さ, 1)

送料・手数料の計算

重量や金額に応じた段階的な料金計算に活用します。

重量別送料(1kg単位):

=VLOOKUP(CEILING(実重量, 1), 送料テーブル, 2, FALSE)

取引手数料の計算:

=CEILING(取引金額 * 手数料率, 100)  // 100円単位

CEILING関数の応用・他関数との組み合わせ

FLOOR関数との使い分け

切り上げと切り捨ての使い分けで範囲を設定します。

下限:=FLOOR(数値, 単位)

上限:=CEILING(数値, 単位)

範囲:=CEILING(数値, 単位) – FLOOR(数値, 単位)

価格帯の設定:

=FLOOR(価格, 1000) & “円~” & CEILING(価格, 1000) & “円”

ROUND関数との比較

四捨五入との違いを理解して使い分けます。

元の値:4.3

=ROUND(4.3, 0)    // 結果:4(四捨五入)

=CEILING(4.3, 1)  // 結果:5(切り上げ)

CEILING.MATHとCEILING.PRECISEの違い

新しいバージョンの関数との比較です。

// CEILING.MATH:負の基準値も使用可能

=CEILING.MATH(10, -3)    // エラーにならない

// CEILING.PRECISE:常に絶対値を上げる方向に切り上げるが、符号は保持

=CEILING.PRECISE(-4.3, 1)  // 結果:-4

IF関数との組み合わせ

条件によって切り上げ単位を変更します。

=IF(金額 > 10000,

CEILING(金額, 1000),

CEILING(金額, 100))

数量に応じた割引単位の変更:

=CEILING(金額 * IF(数量 >= 100, 0.8, 0.9), 10)

配列数式での使用

複数の値を一度に切り上げ処理します。

{=CEILING(A1:A10, 5)}  // 範囲内の全値を5の倍数に

MOD関数との組み合わせ

切り上げ後の端数を確認します。

切り上げ額:=CEILING(金額, 100)

端数:=CEILING(金額, 100) – 金額

時刻データの処理

時刻を特定の分単位に切り上げます。

// 10分単位に切り上げ

=CEILING(時刻, TIME(0,10,0))

// 次の正時に切り上げ

=CEILING(時刻, TIME(1,0,0))

CEILING関数のよくあるエラーと対策

#VALUE!エラーの原因と対処

引数に不適切な値を指定した場合に発生します。

原因1:文字列を指定

誤:=CEILING(“100”, 10)

正:=CEILING(100, 10)

原因2:基準値に0を指定

誤:=CEILING(100, 0)   // エラー

正:=CEILING(100, 1)   // 基準値は0以外

エラー回避

=IFERROR(CEILING(A1, B1), “入力値を確認”)

負の基準値でのエラー

従来のCEILING関数では正の数値 × 負の基準値はエラーになります。

誤:=CEILING(10, -5)   // #NUM!エラー

対策:=CEILING.MATH(10, -5)  // 新関数を使用

予期しない結果の回避

小数の基準値での注意点:

=CEILING(0.1, 0.3)   // 結果:0.3(期待通り)

=CEILING(0.7, 0.3)   // 結果:0.9(0.3の3倍)

精度の問題

浮動小数点演算による誤差:

// 0.1の倍数が正確でない場合
CEILING関数を使用する前にROUND関数で値を整えると、意図しない誤差を軽減できます。

=CEILING(ROUND(数値, 2), 0.1)  // 事前に丸める

日付・時刻での注意点

日付型データでの使用:

// 日付は内部的にシリアル値

=CEILING(日付, 7)  // 週単位(7日)に切り上げ

パフォーマンスの考慮

大量データでの処理速度:

// 非効率:各セルで個別に計算

=CEILING(A1, 10)

// 効率的:一度計算して値貼り付け

互換性の問題

異なるExcelバージョンでの動作:

// 古いバージョン対応

=IF(ISERROR(CEILING.MATH(A1,B1)), CEILING(A1,B1), CEILING.MATH(A1,B1))

CEILING関数で端数処理を効率化しよう

CEILING関数は、数値を指定した単位の倍数に切り上げる便利な関数です。価格設定、在庫管理、時間計算、資材計算など、ビジネスの様々な場面で端数処理に柔軟に対応できます。

基準値を自由に設定できるため、ルールに応じた処理が可能です。FLOOR関数と組み合わせることで範囲設定も行え、IF関数やROUND関数と併用すれば、条件付きや精度の高い処理も実現できます。

エラー対処やバージョン互換性の違いに留意しつつ、必要に応じてCEILING.MATH関数やCEILING.PRECISE関数の活用も検討すると良いでしょう。

実務に即した切り上げ処理を効率化することで、日々の業務の精度とスピードを高めることができます。


※ 掲載している情報は記事更新時点のものです。

※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。

関連記事