最も近い基準値の倍数に切り上げた値を取得する【Googleスプレッドシート/関数】

2017/05/11数学, 関数CEILING()

方法

指定した基準値の倍数のうち、最も近い整数の倍数に数値に切り上げた値を取得するには「CEILING」関数を使用します。

最も近い基準値の倍数に切り上げた値を取得する
=CEILING(基準値の最も近い整数の倍数に切り上げる値, [値を切り上げて求める倍数の基準値])
※[]は省略可 – デフォルトは 1
入力例:=CEILING(23.25, 0.1)
戻り値:23.3

図説

“=CEILING(基準値の最も近い整数の倍数に切り上げる値, [値を切り上げて求める倍数の基準値])”と入力していると、途中で関数の候補が出てきます。
「基準値の最も近い整数の倍数に切り上げる値」「値を切り上げて求める倍数の基準値」の2つの引数を関数に入力し、Enter キーを入力すると、最も近い基準値の倍数に切り上げられた値がセルに入力されます。

<図1>

<図2>

補足

CEILING関数ですが、パッと見て、どのような関数か分かりましたでしょうか?

私だけかもしれませんが、初めてこの関数を見たとき、どのような計算がなされているのかが中々つかめませんでした。(しかも、検索エンジンで調べても、関数の定義を記しているだけで計算自体を解説しているページが出てこない 汗)

私と同じような境遇の方のために、以下にこの関数における計算ロジックについて記します。

まず、この関数の定義ですが、次の通りです。

指定した基準値の倍数のうち、最も近い整数の倍数に数値に切り上げた値を取得する

次のような関数を例に、上記の文章について説明します。

切り上げる値:501
基準値:500
関数:=CEILING(501, 500)
戻り値:1000

このとき、上記文章で言うところの、それぞれの言葉の意味は以下となります。

指定した基準値の倍数は、0、500、1000、1500・・・。
これは言葉通りですよね。関数の2つ目の引数に指定した基準値(500)の倍数です。

最も近い整数ですが、指定した基準値の倍数(0、500、1000、1500・・・)のうち、切り上げる値(501)に最も近い整数となります。となりますと、501に最も近い数字は、500となります。しかし、500が得られる数ではありません。得られる値は「最も近い整数の倍数に数値に切り上げた値」です。

最も近い整数の倍数に数値に切り上げた値は、切り捨てではなく切り上げですので、501より小さい500ではなく、501より大きい1000となります。従って、上で挙げた関数例の戻り値は1000となる訳です。

参考までに、以下に幾つか、関数例と戻り値、そして解説を記します。

切り上げる値:499
基準値:500
関数:=CEILING(499, 500)
戻り値:500
解説:切り上げる値(499)に最も近い整数の倍数(500)に数値を切り上げた値は500なので、戻り値は500となる。
切り上げる値:1001
基準値:1001
関数:=CEILING(1001, 500)
戻り値:1500
解説:切り上げる値(1001)に最も近い整数の倍数は1000であるが、切り上げなので、次に近い倍数である1500が採用され、戻り値は1500となる。
本記事冒頭のサンプル関数
切り上げる値:23.25
基準値:0.1
関数:=CEILING(23.25, 0.1)
戻り値:23.3
解説:切り上げる値(23.25)に最も近い整数の倍数は23.2と23.3であるが、切り上げなので、次に近い倍数である23.3が採用され、戻り値は23.3となる。