広告

CEILING関数の使い方|値を基準値の倍数に切り上げる

2021年7月22日

CEILING(シーリング)関数は、指定した基準値の倍数のうち、最も近い整数の倍数に数値を切り上げる関数です。

=CEILING(値, [基準値])

ceiling_sample

参考:CEILING関数ドキュメントエディタヘルプ

CEILING関数の使い方. 構文

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

=CEILING(値,[基準値])

CEILING関数の構文内訳

引数 説明
基準値の最も近い整数の倍数に切り上げる値です。
基準値 省略可(デフォルトは1)値を切り上げて求める倍数の基準値です。基準値を0にすることはできません。

CEILING関数の使い方・実行サンプル

CEILING関数を実行するサンプル。

CEILING関数にて

  • 値に「12」を
  • 基準値に「5」を

設定したときの結果を求めます。

基準値 CEILING関数
12 5 =CEILING(A2,B2)

CEILING関数で算出した結果。

基準値 CEILING関数
12 5 15

GIFで↓

ceiling_sample

値で「12」だった値がCEILING関数によって切り上げられ、「15」という値に変わりました。

CEILING_howto

OYAKUN
OYAKUN
CEILING関数にて、値の「12」が基準値の「5」によって5の倍数に切り上げられていることが分かりますね。

CEILING関数のサンプル実行結果

画像でCEILINGサンプル実行結果を確認↓

CEILING_kekka

CEILING関数 × GASの使い方・サンプル

CEILING関数をGASで利用する際の、かんたんなサンプルを作成してみました。

実装する表のサンプル。

名前 勉強時間(分) 15分切り上げ
デフォは空白 デフォは空白 デフォは空白

実装するGAS

function CEILING() {
var ss,sht,val01,val02,val03,val04,array,array1
ss = SpreadsheetApp.getActiveSpreadsheet();
sht = ss.getActiveSheet();
sht.getRange('B2:C4').activate();
sht.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true});
val01 = Browser.inputBox('AAAの勉強時間(分)を入力してください。',Browser.Buttons.OK_CANCEL);
val02 = Browser.inputBox('BBBの勉強時間(分)を入力してください。',Browser.Buttons.OK_CANCEL);
val03 = Browser.inputBox('CCCの勉強時間(分)を入力してください。',Browser.Buttons.OK_CANCEL);
if(val01 == "cancel"|| val02 == "cancel"|| val03 == "cancel"){
Browser.msgBox("処理を中止しました");
return;
} else {
array = [
[val01],
[val02],
[val03],
];
sht.getRange(2,2,3,1).setValues(array);
// CEILING関数をセット
val04 = '=CEILING(B2,15)';
val05 = '=CEILING(B3,15)';
val06 = '=CEILING(B4,15)';
array1 = [
[val04],
[val05],
[val06],
];
sht.getRange(2,3,3,1).setValues(array1);
}
}

実行結果をGIFで

CEILING_GAS

OYAKUN
OYAKUN
inputBoxへ勉強時間を入力することで、C列に15分切り上げとなった数値が入力されたのが確認できます。

CEILING関数を使うときの注意点

注意1. 引数に数値以外の値を入力すると#VALUE!エラーを返す

CEILING関数は、引数に数値以外の値を指定すると#VALUE!エラーを返します。

以下にサンプルを記載します。

基準値 CEILING関数
2 2A VALUE!

ceiling_error1

OYAKUN
OYAKUN
B2に「2A」と数値以外の値を入力したことで、C2のCEILIGN関数がエラーVALUE!を返していることが分かります。
補足

CEILING関数では値・基準値のどちらでも、数値以外の値を指定することで「VALUE!」エラーを返します。

注意2. 切り上げられた絶対値は元の値以上となる

CEILING関数では、数値の符号に関係なく切り上げられた値の絶対値は、必ず値以上になります。また基準値の倍位数が値と等しい場合、数値は値が返されます

以下にサンプルを記載します。

基準値 CEILING関数
3 1 3

ceiling_error2

OYAKUN
OYAKUN
基準値が値より小さくても、CEILING関数の結果は値以上の数値を返していることが分かりますね。

注意3. 値と基準値が負のとき結果は0から遠い値に切り上げられる

CEILING関数では数値と基準値どちらも負の数の場合、CEILING関数の結果は0から遠い数(より小さい数)を返します。

以下にサンプルを記載します。

基準値 CEILING関数
-4 -1 -4

ceiling_error3

OYAKUN
OYAKUN
値と基準値ともに負の数を指定したとき、CEILING関数はより小さい値を返していることが分かります。
補足

値が負の数、基準値が正の数の場合は、CEILING関数の結果は大きい方(0に近い方)に切り上げられます。

ceiling_error3(2)

注意4. 値が整数・基準値が負の数のとき#NUM!エラーを返す

CEILING関数では値に正の数・基準値に負の数を指定すると#NUM!エラーを返します。

以下にサンプルを記載します。

基準値 CEILING関数
5 -10 #NUM!

ceiling_error4

OYAKUN
OYAKUN
基準値のみ負の数のとき、CELING関数は#NUM!を返していることが分かります。

CEILING関数の使い方. ExcelとGoogleスプレッドシートとの違い

CEILING関数は、ExcelとGoogleスプレッドシートで基本的な使い方に相違はありません

強いて言えば、Googleのドキュメントエディタヘルプのページのみ以下説明が記載されていることでしょう。

値と基準値は同じ符号でなければならず、両方とも正の値または負の値にする必要があります。

https://support.google.com/docs/answer/3093471

CEILING関数の使い方 まとめ

CEILING関数の使い方でした。 有効に活用するには、

  • 引数に数値以外を指定しない
  • 値に負の数を指定しない
  • 基準値に負の数を指定しない

といった感じですね。

FLOOR関数と合わせて使うことで、15分単位や30分単位での切り上げや切り捨てしたときの時間を求めることができます。

OYAKUN
OYAKUN
残業時間の算出や15分単位でのサービス利用時の時間切り上げなど、割とあらゆる場面で使える関数ですね

関連記事: BITXOR関数の使い方|数値2つの排他的論理和を求める
関連記事: BITAND関数の使い方| 数値2つのビット単位の論理積を返す
関連記事: BETAINV関数の使い方|β分布区間に対しβ累積分布の逆関数の値を返す
関連記事: BETADIST関数の使い方|ベータ分布関数で定義された特定値の確率を返す