CEILING.MATH(シーリング・マス)関数は、最も近い整数、または指定した基準値の最も近い倍数に数値を切り上げる関数です。
=CEILING.MATH(数値, [基準値], [モード])
参考:CEILING.MATH関数ドキュメントエディタヘルプ
CEILING.MATH関数の使い方. 構文
CEILING.MATH関数の構文は以下のとおりです。基本的にCEILING関数と同じ働きをする関数です。
=CEILING.MATH(数値, [基準値], [モード])
CEILING.MATH関数の構文内訳
引数 | 説明 | 注意 |
---|---|---|
数値 | 最も近い整数に切り上げる値です。基準値を指定すると、この基準値の最も近い倍数に切り上げられます。 | |
基準値 | 数値を丸めて求める倍数の基準となる値です。 | [省略可: デフォルトは 1] |
モード | 数値が負の場合に丸める方向を指定します。0 を指定するか省略すると、0 に近い整数に切り上げられます。それ以外の場合は、0 から離れた整数に切り捨てられます。 | [省略可] |
CEILING.MATH関数の使い方・実行サンプル
CEILING.MATH関数にて以下のとおりに設定したときの結果を求めます。
品目 | 値 | 基準値 | CEILING. MATH関数 |
---|---|---|---|
BOOK-1 | 1200 | 50 | =CEILING.MATH(B2,C2) |
BOOK-2 | 550 | 50 | =CEILING.MATH(B3,C3) |
BOOK-3 | 780 | 50 | =CEILING.MATH(B4,C4) |
BOOK-4 | 325 | 50 | =CEILING.MATH(B5,C5) |
BOOK-5 | 156 | 50 | =CEILING.MATH(B6,C6) |
CEILING.MATH関数で算出した結果。
品目 | 値 | 基準値 | CEILING. MATH関数 |
---|---|---|---|
BOOK-1 | 1200 | 50 | 1200 |
BOOK-2 | 550 | 50 | 550 |
BOOK-3 | 780 | 50 | 800 |
BOOK-4 | 325 | 50 | 350 |
BOOK-5 | 156 | 50 | 200 |
GIFで↓
各B列にある値がC列の基準値を参照にCEILING.MATH関数によって切り上げられ、「50」の倍数として計算されています。
CEILING.MATH関数のサンプル実行結果
画像でCEILING.MATHサンプル実行結果を確認↓
CEILING.MATH関数 × GASの使い方・サンプル
CEILING.MATH関数をGASで利用する際の、かんたんなサンプルを作成してみました。
実装する表のサンプル。
品目 | 必要数 | セット数 | CEILING. MATH関数 |
---|---|---|---|
AAA | |||
BBB | |||
CCC |
実装するGAS
function CEILINGMATH() {
var ss,sht,val01,val02,val03,val04,val05,val06,val07,val08,val09
var array0,array1,array2
ss = SpreadsheetApp.getActiveSpreadsheet();
sht = ss.getActiveSheet();
sht.getRange('B2:D4').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);
val04 = Browser.inputBox('AAAのセット数を入力してください。',Browser.Buttons.OK_CANCEL);
val05 = Browser.inputBox('BBBのセット数を入力してください。',Browser.Buttons.OK_CANCEL);
val06 = Browser.inputBox('CCCのセット数を入力してください。',Browser.Buttons.OK_CANCEL);
if(val01 == "cancel"|| val02 == "cancel"|| val03 == "cancel"|| val04 == "cancel"|| val05 == "cancel"|| val06 == "cancel"){
Browser.msgBox("処理を中止しました");
return;
} else {
//必要数を記入
array0 = [
[val01],
[val02],
[val03],
];
sht.getRange(2,2,3,1).setValues(array0);
//セット数を記入
array1 = [
[val04],
[val05],
[val06],
];
sht.getRange(2,3,3,1).setValues(array1);
// CEILING.MATH関数をセット
val07 = '=CEILING.MATH(B2,C2)';
val08 = '=CEILING.MATH(B3,C3)';
val09 = '=CEILING.MATH(B4,C4)';
array2 = [
[val07],
[val08],
[val09],
];
sht.getRange(2,4,3,1).setValues(array2);
sht.getRange(1,1).activate();
}
}
実行結果をGIFで
CEILING.MATH関数を使うときの注意点
注意1. 引数に数値以外の値を入力すると#VALUE!エラーを返す
CEILING.MATH関数は、引数に数値以外の値を指定すると#VALUE!エラーを返します。
以下にサンプルを記載します。
品目 | 値 | 基準値 | CEILING. MATH関数 |
---|---|---|---|
品目 | 3a | 35 | #VALUE! |
CEILING.MATH関数では値・基準値のどちらでも、数値以外の値を指定することで「#VALUE!」エラーを返します。
注意2. 切り上げられた絶対値は元の値以上となる
CEILING.MATH関数では、数値の符号に関係なく切り上げられた値の絶対値は、必ず値以上になります。。また基準値の倍位数が値と等しい場合、数値は値が返されます
以下にサンプルを記載します。
値 | 基準値 | CEILING.MATH関数 |
---|---|---|
50 | 5 | 50 |
注意3. 値・基準値が負のとき結果は0から遠い値に切り上げられる
CEILING.MATH関数では数値と基準値の両方・またはどちらかが負の数の場合、CEILING.MATH関数の結果は0から遠い数(より小さい数)を返します。
以下にサンプルを記載します。
値 | 基準値 | CEILING.MATH関数 |
---|---|---|
-45 | 6 | -42 |
注意4. モードに1を指定すると0から離れた整数に切り捨てられる
CEILING.MATH関数ではモードに「1」を指定することで、値が負の数のとき0から離れた整数に切り捨てられます。
以下にサンプルを記載します。
値 | 基準値 | モード | CEILING.MATH関数 |
---|---|---|---|
-45 | 6 | 1 | -48 |
-45 | 6 | 0 | -42 |
CEILING.MATH関数の使い方. ExcelとGoogleスプレッドシートとの違い
CEILING.MATH関数は、ExcelとGoogleスプレッドシートで基本的な使い方に相違はありません。
強いて言えば、Microsoft ExcelのCEILING.MATH関数のサポートページのみ以下説明が記載されていることでしょう。
数値は 9.99E+307 未満で、-2.229E-308 より大きい必要があります。
https://support.microsoft.com/ja-jp/office/ceiling-math-%E9%96%A2%E6%95%B0-80f95d2f-b499-4eee-9f16-f795a8e306c8
CEILING.MATH関数の使い方 まとめ
CEILING.MATH関数の使い方でした。 有効に活用するには、
- 引数に数値以外を指定しない
- 値に負の数を指定しない
- 基準値に負の数を指定するときはモードに0か1を指定する
といった感じですね。
CEILING関数と同じくFLOOR関数と合わせて使うことで、15分単位や30分単位での切り上げや切り捨てしたときの時間を求めることができます。
またモード値に「0」を指定することで、値が負の数だとしても「0に近い値」を求めることが可能です。
関連記事: CEILING関数の使い方|値を基準値の倍数に切り上げる
関連記事: BITAND関数の使い方| 数値2つのビット単位の論理積を返す
関連記事: BETAINV関数の使い方|β分布区間に対しβ累積分布の逆関数の値を返す
関連記事: BETADIST関数の使い方|ベータ分布関数で定義された特定値の確率を返す