ROUNDDOWN関数とFLOOR関数-違いと使い分け-

本記事は『【ROUNDDOWN関数とFLOOR関数】違いと使い分け』に関して解説します。

まず、Excelの関数を整理します:

  1. 「切り上げ」:ROUNDUP関数/CEILING関数
  2. 「四捨五入」:ROUND関数
  3. 「切り捨て」:ROUNDDOWN関数/FLOOR関数

ROUNDDOWN関数とFLOOR関数は似た機能を持っていますが、
それぞれの使い方と違いについて詳しく見ていきましょう。

なお、FLOOR.MATH関数も「切り捨て」関数の一つですが、
これら二つの関数は大まかには同じ機能を持っているため、
本記事ではROUNDDOWN関数とFLOOR関数の比較に焦点を当てています。

各関数の違い

第2引数が違う:「桁数」と「基準値」

ROUNDDOWN関数とFLOOR関数ともに、

類似した「機能」を持ち、両方とも二つの引数を持ちます。
そして、第1引数は「数値」です。

しかし、

第2引数の引数名が違います(「桁数」と「基準値」)。

各関数の構文を整理しました。
なお、さらに詳しい構文解説は別記事を参照してください。
(「整理中」と表示される場合は、データ分析ドットコムの検索ボックスから検索してみてください)

  • 整理中
  • 整理中

ROUNDDOWN(数値, 桁数)

説明:

  • 数値桁数で切り捨てる

引数:

  • 数値(必須)
    • 切り捨てしたい数値を指定します
  • 桁数(必須)
    • 切り捨てする桁数を指定します
      • 正の数を指定する場合は、小数点以下の指定した桁数以下を切り捨て
      • 0を指定する場合は、小数点以下を切り捨て
      • 負の数を指定する場合は、整数部分の指定した桁数以下を切り捨て
ROUNDDOWN 関数 – Microsoft サポート より改変

FLOOR(数値, 基準値)

説明:

  • 数値を、指定した基準値の倍数値に切り捨てる関数

引数:

  • 数値(必須)
    • 切り捨てたい数値を指定
  • 基準値(必須)
    • 倍数の基準となる数値を指定
FLOOR 関数 – Microsoft サポートより改変

第2引数の違いによる挙動

ROUNDDOWN関数とFLOOR関数は、構文と引数ともに、かなり類似していますが、

第2引数名の違いによって、挙動に差異が生まれています。

その差異は・・・

単位での切り捨て

または、

小数点以下の切り捨て

のどちらかです。

単位での切り上げROUNDDOWNとFLOORの挙動

例えば、ある商品の価格が1234円であり、この価格を100円単位に切り捨てる場合、
挙動の違いを確認してみましょう。

ROUNDDOWN関数では、第2引数に -2を指定すると、1200円に切り捨てられます
FLOOR関数では、第2引数に100を指定すると、1200円に切り捨てられます。
FLOOR関数の方が直感的に分かりやすいのではないでしょうか。

=ROUNDDOWN(”1234”, -2) -> 1200

=FLOOR(”1234”, 100) -> 1200

もし、FLOOR関数と同様に、
ROUNDDOWN関数の第2引数に100を指定すると、1234円になります。

ROUNDDOWN関数は第2引数「100」桁を指定し、
小数点以下の第100桁目で切り上げされるためです。

=ROUNDDOWN(”1234”, 100) -> 1234


なお、CEILING関数では第2引数にマイナス値を指定できないため、NUM!エラーが返ってきます。

=CEILING(”1234”, -2) -> #NUM!

小数点以下の切り上げROUNDDOWNとFLOORの挙動

例えば、ある商品の価格が1234.56円であり、この価格を小数点以下を切り上げる場合、
ROUNDDOWN関数とFLOOR関数の挙動の違いを確認してみましょう。

ROUNDDOWN関数では、第2引数に 0を指定すると、1235円切り上げられます。
FLOOR関数では、第2引数に1を指定すると、1235円に切り上げられます。
ROUNDDOWN関数の方が直感的に分かりやすいのではないでしょうか。

=ROUNDDOWN(”1234.56”, 0) -> 1234

=FLOOR(”1234.56”, 1) -> 1234


もし、ROUNDDOWN関数と同様に、FLOOR関数の第2引数に0を指定すると、0円になります。
FLOOR関数の第2引数「基準値」に0の倍数値だからです。0の倍数値は0だからです。

=FLOOR(”1234.56”, 0) -> 0

なお、FLOOR関数では第2引数にマイナス値を指定できないため、NUM!エラーが返ってきます。

=FLOOR(“1234.56”, -1) -> #NUM!

各関数の使い分け

データ分析ドットコムでは、「各関数の使い分けのガイドライン」を作成してみました。
ROUNDUP関数とCEILING関数を使い分けする際の1つの指針として参考にしてみてください。

つまり、「単位」で切り上げたいか、「桁数」で切り上げたいかの違いとなります。
なお、ROUNDUP関数は第2引数にマイナス値を指定できるが、FLOOR関数はマイナス値の指定ができません。

「単位」で切り上げたい場合

例えば、100円単位、10分単位、10歳刻みなど切り上げる単位が決まっている場合は「FLOOR関数」です。
ROUNDDOWN関数でも可能だが、FLOOR関数の方が直感的に分かりやすいのではないでしょうか。

「桁数」で切り上げたい場合

例えば、小数点以下を切り上げたい場合などです。その場合は、「ROUNDDOWN関数」です。
FLOOR関数でも可能ですが、ROUNDDOWN関数の方が直感的に分かりやすいと言えるでしょう。

最後に

ROUNDDOWN関数とFLOOR関数の違いと使い分けに関して、解説しました。
つまり、単位」で切り上げたいか、「桁数」で切り上げたいかの違いでした。

単位」で切り上げたい場合はFLOOR関数、
桁数」で切り上げたい場合はROUNDDOWN関数を使用すれば良いでしょう。


参考記事

Excel関数を操作するための基本概念です。基本概念を理解すると、各関数の理解がより深まります。

構文に関する記事

Excel関数の引数と戻り値は何だっけ?という時に、役立つ記事です。

ダイアログボックスの使い方に関する記事

Excel関数名は何だっけ?VLOOKUP関数の使い方は何だっけ?という時に、ダイアログボックスを使うと便利です。
下記はそのダイアログボックスに関する記事です。

参照形式に関する記事

関数式をコピーする時はどうしたらいい? $マークは、どう付けたらいいだろう?
といった悩みをお持ちの方は以下をご覧ください。