Introduction
Ver. all 2013 2016 2019 2021 365
Excel(エクセル)のFLOOR関数とFLOOR.MATH関数の違いについて説明します。
両方とも指定した倍数で数字を切り下げる関数ですが、引数の指定などが異なります。
81円や82円の場合・・・80円
86円や88円の場合・・・85円
のように、5円単位で端数を切り捨てたい場合や、
12個(ダース)単位など〇〇単位で個数を数える場合などに便利な関数ですね。
何が違うのかにゃ?
バージョンでの違い
FLOOR関数・・・Excel2010までの主役
FLOOR.MATH関数・・・Excel2013から登場
FLOOR.MATH関数は、バージョン2013から登場しました。それまで使用されていたのがFLOOR関数です。
FLOOR.MATH関数の登場によって、FLOOR関数は日陰の存在になってしまいました。
バージョン2010までは[関数の挿入]ダイアログボックス[関数の分類]の「数学/三角」にしっかり存在していたのですが、
2013から、同じ場所にはFLOOR.MATH関数が存在するようになり、FLOOR関数は見当たらなくなります。
どこにいったのかなーと探してみると、「互換性」の場所にひっそりと存在しています。
マイクロソフトの方針として、「今後「FLOOR関数」は「FLOOR.MATH関数」に切り替えていきましょう」ということだと思われます。
では、「FLOOR関数」はもう使わない方が良いのか・・・。いえ、そんなことはありません。
ファイルを送付する取引先が昔のバージョンのエクセルを使用しているかもしれません。
互換性を考えると、むしろ「FLOOR関数」を使用した方が良いことの方が多いかもしれませんよ。
使い方の違い
「FLOOR関数」と「FLOOR.MATH関数」の使い道はほぼ同じですが、引数の指定など少し違いがあります。
まず引数を比較してみましょう。
FLOOR・・・基準値の倍数で、最も近い値に数値を切り下げる。
=FLOOR(数値,基準値)
- 数値・・・切り下げたい数値(対象セル)を指定
- 基準値・・・倍数の基準となる数値を指定(省略不可)
FLOOR.MATH関数・・・最も近い整数、もしくは基準値の倍数で、最も近い値に数値を切り下げる。
=FLOOR.MATH(数値,[基準値],[モード])
- 数値・・・切り下げたい数値(対象セル)を指定
- 基準値・・・倍数の基準となる数値を指定(省略可能)
- モード・・・[数値]が負の場合、「0」に近い値にするか離す値にするか制御する(省略可能)
なんか似ていますが、一目でわかる違いが、引数の数ですね。
「FLOOR.MATH関数」は「FLOOR関数」をパワーアップしたものなので、「FLOOR.MATH関数」のパワーアップ部分を考えてみましょう。大きく2つあります。
【FLOOR.MATH関数】
- [モード]という3つ目の引数が存在する
- 2つ目の引数[基準値]を省略できる
[モード]という3つ目の引数の使い方ですが、[数値]の場所にマイナスの値を指定した場合、[モード]を省略するか「0」を入力すると「0」から離れた値になり、「0」以外を入力すると「0」から近い値になります。
例えば[数値]で指定したセルの値が「-7.8」で、[基準値]が「5」だった場合は、
[モード]に「0」を指定(もしくは省略)・・・「-10」
[モード]に「0」以外を指定・・・「-5」
になります。
※ちなみに「FLOOR関数」の場合は、[数値]の場所にマイナスの値を指定した場合、選ぶことはできず、既定で「0」から離れた値になります。(今回の場合は「-10」)
次に、「FLOOR.MATH関数」は2つ目の引数[基準値]を省略することができます。もし、「FLOOR関数」の方で2つ目の引数を省略しようとすると、
というメッセージが表示されてしまいます。
一方、「FLOOR.MATH関数」は[基準値]を省略した場合、[数値]の場所が正の場合「+1」、負の場合は「-1」として処理してくれます。
まとめ
「FLOOR.MATH関数」は「FLOOR関数」がパワーアップしたもので、1番大きな違いは「FLOOR.MATH関数」は[数値]がマイナスの値の場合、「0」に近い値にするか離れた値にするかを選択することができるということですね。
しばらくは、正の値しか扱わない場合は互換性を考えて「FLOOR関数」を使用するのが無難かもしれません。
また、Excel2010には、「FLOOR.PRECISE関数」が存在しました。
FLOOR.PRECISE・・・基準値の倍数で、最も近い値に数値を切り下げる。
=FLOOR.PRECISE(数値,[基準値])
- 数値・・・切り下げたい数値(対象セル)を指定
- 基準値・・・倍数の基準となる数値を指定(省略可能)
「FLOOR関数」と似ているのですが、
- [基準値]が省略可能・・・省略した場合「1」になる
- [数値]と[基準値]の正負が異なっても使用できる
という違いがあります。
バージョン2010にだけ存在する関数なので、ここでは比較を省略しました。
似た関数が複数あるけど、基本の使い方は一緒にゃ