『Excel VBA 表計算とプログラミング学習サイト』では、アフィリエイトプログラムを利用して商品を紹介しています。

【Excel】FLOOR関数とFLOOR.MATH関数の使い方

【Excel】FLOOR関数

FLOOR関数 は指定した基準値の倍数になるように数値を切り捨てます。引数に数値と基準値の2つを用いて

=FLOOR(数値,基準値)

と記述します。ただし数値と基準値の符号は一致していなければなりません。この関数は1ダース (12) を基準に端数処理したい場合などに用います。たとえば

=FLOOR(26,12)

と入力すると「24」という数値が返ります。指定した基準値が 12 ですから、その倍数は 12, 24, 36, … となります。このなかで 26 より小さな倍数は 24 なので、その値に合わせているのです。

FLOOR関数の実践例です。
酒屋さんの注文票を作ってみましょう。
こばとはお酒が大好きです。
「ぐびぐび」飲んで「ういうい」と気分よくなります。
てことで、あとりえこばとにも配達してもらいましょう。
1つのケースに 12 本(1ダース)入るとして、次のような表をつくってください。
 
FLOOR酒屋さんの注文票

あとりえこばとは 30 本注文しているので、FLOOR(30,12) によって 30 に一番近い 12 の倍数 24 に切り下げられます。これを 12 で割ればケースの数を求められますね。ということで、セル D3 には

=FLOOR(B2,12)/12

と入力しておきます。30 本から FLOOR(30,12)=24 を引けば単品の数「6」を求められますが、ここはすでに D3 に入っているケースの数を 2 倍した数を注文本数から差し引く方が簡単です。というわけで、セル E3 には

=C3-D3*12

と書いておきましょう。これでちゃんと『あとりえこばと』にビールが届きますね。楽しみですね。

【Excel】FLOOR.MATH 関数

Excel 2013 から FLOOR 関数の改良版ともいえる FLOOR.MATH関数 が追加されました。FLOOR.MATH 関数は FLOOR 関数の機能を全て備えているうえに、引数を上手に指定することによってもっと柔軟な使い方ができるようになっています。なので 2013 以降をお持ちの方は、 FLOOR 関数について学ぶ必要はありません。FLOORMATH ひと筋でいきましょう。次のような形で記述します。

=FLOOR.MATH(数値[,基準値][モード])

3つの引数のうち2つが省略可能となっています。
まず引数を1つだけ指定した例をみてみます。

=FLOOR.MATH(7.8)

と入力すると「7」を返します。つまり小数部分を切り捨てるのです。ここで数値の符号を変えて

=FLOOR.MATH(-7.8)

としてみると結果は「-8」となります。これはつまり数直線上で「-7.8」を原点から遠いほうへ切り下げているのです。次は引数を2つ指定してみましょう。

=FLOOR.MATH(7.8,2)

と入れると結果は「6」です。一見して何をやっているのかわかりませんが、これは指定した基準値の 2 の倍数である 4, 6, 8, 10, … のうちから 7.8 より小さく、もっとも近いところにある 6 を選んでいるのです。1つめの引数の符号を変えて

=FLOOR.MATH(-7.8,2)

としてみると「-8」を返します。これは 2 の負の倍数である -4, -6, --8, … から -7.8 より小さい -8 を選んでいます。FLOOR関数は数値と基準値の符号が一致していないとエラーとなりましたけど、FLOOR.MATH 関数では異なる符号の引数を入れることが可能です。引数を3つに増やしてみましょう。

=FLOOR.MATH(-7.8,2,1)

とすると結果は「 -6 」となります。 2 の負の倍数である -4, -6, -8, … から -7.8 より原点に近い数字を選んでいるのです。実は3つめの引数に 0 以外の数値を入れると全て同じ結果となります(切り下げ方向を反転させます)。0 を入れたときは引数を省略したときと同じく「-8」を返します。このような「ゼロ・非ゼロ」のモード引数は他の関数でもたまに見られますので、頭の片隅に置いておくとヘルプを見るときなどに理解しやすくなります。

コメント