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

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

方法

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

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

図説

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

<図1>

<図2>

補足

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

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

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

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

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

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

切り捨てる値:999
基準値:500
関数:=FLOOR(999, 500)
戻り値:500

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

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

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

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

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

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