Excelで数値を5単位や10単位など、指定した単位に切り捨てたいときは、FLOOR.MATH(フロア・マス)関数を使います。
例えば「100個の商品を12個ずつ箱詰めするとき、端数を除いて何個詰められるか」「売上時刻を15分ごとの時間帯にそろえて集計したい」という場合には、FLOOR.MATH関数を使う方法があります。
この記事では、FLOOR.MATH関数の基本的な使い方と基準値、モードの指定方法、実際の仕事での使用例を紹介します。また、同じく切り捨てを行うROUNDDOWN関数との使い分けや、負の数を扱う場合のモードについても説明します。
数値や基準値、モードをサイト上で変更して計算結果を確認できるFLOOR.MATH関数の体験教材もあります。
FLOOR.MATH関数でできること
100個の商品を、1箱12個入りで箱詰めしたい。
端数だけの箱は作らない。
その場合、何個の商品を箱詰めできるのか。
これを、FLOOR.MATH関数で下記のように計算できます。
=FLOOR.MATH(100,12)
結果は 96 です。
このように、元となる値と基準値(切り捨てたい単位)を指定することで、元となる値が正の数の場合は、元の数値を超えない、最も近い基準値の倍数に切り捨てることができます。
今回の場合、12の倍数である108個では手元の100個を超えてしまいますが、96個なら100個以内になるため、96個を箱詰めできるということです。箱数は8箱で、残りの4個は端数になります。
FLOOR.MATH関数の基本的な使い方
FLOOR.MATH関数の書き方と3つの引数
基本の書き方は、次のとおりです。
=FLOOR.MATH(数値,基準値(切り捨てたい単位),モード)
| 引数 | 必須・任意 |
|---|---|
| 数値 | 必須 |
| 基準値(切り捨てたい単位) | 任意 |
| モード | 任意 |
- 数値:切り捨てたい数値です。
- 基準値:どの単位の倍数に切り捨てるかを指定する数値です。
5なら5単位、10なら10単位です。省略することも可能です。 - モード:数値が正の数の場合は気にしなくてよいです。モードは負の数を丸める方向を指定します。
0なら0から遠ざかる方向、0以外なら0に近づく方向です。省略した場合は0と同じ結果になります。
例えば、A1に 1259.561 を入力し、別のセルに =FLOOR.MATH(A1,5) と入力してEnterキーを押すと、1255 が表示されます。
FLOOR.MATH関数は、数値を指定した単位に切り捨てる関数であり、1259.561より小さい数値で、最も近い5の倍数は1255となるためです。
また、基準値を省略した場合は、整数へ切り捨てます。
=FLOOR.MATH(12.34) → 12
基準値もモードも、必ず指定しなければならないわけではありません。正の数を指定した単位に切り捨てるだけなら、通常は数値と基準値の2つで計算できます。
FLOOR.MATH関数の早見表
数値(正の数)と基準値を指定した場合の早見表
セルA1に 1259.561 と正の数が入力されている場合、基準値の違いによってFLOOR.MATH関数の結果は次のようになります。
| 基準値(切り捨てたい単位) | 数式 | 結果 |
|---|---|---|
| 0.01単位 | =FLOOR.MATH(A1,0.01) |
1259.56 |
| 0.1単位 | =FLOOR.MATH(A1,0.1) |
1259.5 |
| 1単位(整数) | =FLOOR.MATH(A1,1) |
1259 |
| 5単位 | =FLOOR.MATH(A1,5) |
1255 |
| 10単位 | =FLOOR.MATH(A1,10) |
1250 |
| 15単位 | =FLOOR.MATH(A1,15) |
1245 |
| 100単位 | =FLOOR.MATH(A1,100) |
1200 |
| 1000単位 | =FLOOR.MATH(A1,1000) |
1000 |
FLOOR.MATH関数の基準値には、切り捨てた後の数値を何の倍数にするかを指定します。
結果を 5 の倍数にしたいなら基準値は 5、結果を 15 の倍数にしたいなら基準値は 15 を指定します。
注意点として、=FLOOR.MATH(9.99,5) の結果は 5 ですが、=FLOOR.MATH(10.00,5) は 10 になります。数値が既に基準値の倍数と等しいためです。
基準値の倍数に満たない端数を切り捨てるということです。
また、基準値が正の数値か負の数値かは関係なく、絶対値の倍数に切り下がります。
| 基準値の正負 | 基準値(切り捨てたい単位) | 数式 | 結果 |
|---|---|---|---|
| 正 | 100単位 | =FLOOR.MATH(1234.561,100) |
1200 |
| 負 | 100単位 | =FLOOR.MATH(1234.561,-100) |
1200 |
数値(正の数)のみを指定した場合の早見表
数値のみを指定(または基準値を省略)した時は、FLOOR.MATH関数の結果は次のようになります。
| 数値 | 数式 | 結果 |
|---|---|---|
| 0.01 | =FLOOR.MATH(0.01,) |
0 |
| 0.01 | =FLOOR.MATH(0.01) |
0 |
| 0.1 | =FLOOR.MATH(0.1) |
0 |
| 1 | =FLOOR.MATH(1) |
1 |
| 1.01 | =FLOOR.MATH(1.01) |
1 |
| 9.99 | =FLOOR.MATH(9.99) |
9 |
| 100.01 | =FLOOR.MATH(100.01) |
100 |
| 199.01 | =FLOOR.MATH(199.01) |
199 |
FLOOR.MATH関数で数値のみを指定した場合、最も近い整数に切り捨てます。
これは、同じく数値を指定された桁数で切り捨てるROUNDDOWN関数で =ROUNDDOWN(0.01,0) のように桁数を 0 にした場合や =ROUNDDOWN(0.01,) のように桁数を省略した場合と同じ計算結果になります(桁数を省略すると 0 扱い)。
ただし、数値が負の数の場合は、数値のみを指定した場合や、モード の指定方法によって結果が変わります。
数値に負の数を指定した場合の早見表
数値に負の数を指定し、基準値を省略、モードに0を指定(または省略)したときは、FLOOR.MATH関数の結果は次のようになります。
| 数値 | 数式 | 結果 |
|---|---|---|
| -0.01 | =FLOOR.MATH(-0.01,) |
-1 |
| -0.01 | =FLOOR.MATH(-0.01,,) |
-1 |
| -0.01 | =FLOOR.MATH(-0.01,,0) |
-1 |
| -0.01 | =FLOOR.MATH(-0.01) |
-1 |
| -0.1 | =FLOOR.MATH(-0.1) |
-1 |
| -1 | =FLOOR.MATH(-1) |
-1 |
| -1.01 | =FLOOR.MATH(-1.01) |
-2 |
| -9.99 | =FLOOR.MATH(-9.99) |
-10 |
| -100.01 | =FLOOR.MATH(-100.01) |
-101 |
| -199.01 | =FLOOR.MATH(-199.01) |
-200 |
これは、ROUNDUP関数で桁数に 0 を指定(または省略)した場合と同じ計算結果になります。
次に、上記からモードだけを0以外の数値に変更(ここでは 2 を指定)した場合は、次のようになります。
| 数値 | 数式 | 結果 |
|---|---|---|
| -0.01 | =FLOOR.MATH(-0.01,,2) |
0 |
| -0.1 | =FLOOR.MATH(-0.1,,2) |
0 |
| -1 | =FLOOR.MATH(-1,,2) |
-1 |
| -1.01 | =FLOOR.MATH(-1.01,,2) |
-1 |
| -9.99 | =FLOOR.MATH(-9.99,,2) |
-9 |
| -100.01 | =FLOOR.MATH(-100.01,,2) |
-100 |
| -199.01 | =FLOOR.MATH(-199.01,,2) |
-199 |
これは、ROUNDDOWN関数で桁数に 0 を指定(または省略)した場合と同じ計算結果です。
負の数値が、モードによってROUNDDOWN関数・ROUNDUP関数の結果と同じになるのはなぜ?
ROUNDDOWN関数の仕組み
ROUNDDOWN関数は数値を指定された桁数で切り捨てる関数であり、数値は0へ近づく方向に向かいます。
言い換えると、数値の絶対値を指定された桁数で切り捨てます。
=ROUNDDOWN(1.1,0) の結果は 1 で、=ROUNDDOWN(-1.1,0) の結果は -1 です。
1.1 → 1も、-1.1 → -1 も、どちらも 0へ近づいています。
ROUNDUP関数の仕組み
一方、ROUNDUP関数は数値を指定された桁数に切り上げる関数であり、数値は0から遠ざかる方向に向かいます。
言い換えると、数値の絶対値を指定された桁数に切り上げます。
=ROUNDUP(1.1,0) の結果は 2 で、=ROUNDUP(-1.1,0) の結果は -2 です。
1.1 → 2も、-1.1 → -2 も、どちらも 0から遠ざかっています。
FLOOR.MATH関数のモードの仕組み
FLOOR.MATH関数の書き方は下記でした。
=FLOOR.MATH(数値,基準値(切り捨てたい単位),モード)
数値が負の数の場合、モードによって、0から遠ざけるのか0へ近づけるのかを指定できます。
モードに 0 を指定(または省略)すると、結果は0から遠ざかります。つまりROUNDUP関数と同じ動きになります。
モードに 0 以外を指定すると、結果は0へ近づきます。つまりROUNDDOWN関数と同じ動きになります。
※ここで言う「ROUNDUP関数・ROUNDDOWN関数と同じ動き」というのは、FLOOR.MATH関数の基準値を省略、または 1 にした場合と、ROUNDUP関数・ROUNDDOWN関数の桁数を 0 にした場合です。
CEILING.MATH関数のモードの仕組み
一方、CEILING.MATH関数では、負の数を丸める方向がFLOOR.MATH関数と逆になります。
モードに 0 を指定(または省略)すると、結果は0へ近づきます。つまりROUNDDOWN関数と同じ動きになります。
モードに 0 以外を指定すると、結果は0から遠ざかります。つまりROUNDUP関数と同じ動きになります。
※ここでも「ROUNDDOWN関数・ROUNDUP関数と同じ動き」というのは、CEILING.MATH関数の基準値を省略、または 1 にした場合と、ROUNDDOWN関数・ROUNDUP関数の桁数を 0 にした場合です。
ROUNDDOWN関数とは何が違う?
FLOOR.MATH関数とROUNDDOWN関数は、どちらも数値を切り捨てる関数です。
ただし、切り捨てる単位の指定方法が異なります。
ROUNDDOWN関数は指定した桁数で切り捨てる関数で、小数第2位や10・100・1000単位などで切り捨てます。
一方、FLOOR.MATH関数は基準値を指定するため、5単位や15単位などにも切り捨てることができます。
例えば、次のような結果になります。
| 目的 | 数式 | 結果 |
|---|---|---|
| 整数に切り捨てる | =ROUNDDOWN(12.34,0) |
12 |
| 整数に切り捨てる | =FLOOR.MATH(12.34,1) |
12 |
| 10単位で切り捨てる | =ROUNDDOWN(1234.561,-1) |
1230 |
| 10単位に切り捨てる | =FLOOR.MATH(1234.561,10) |
1230 |
| 5単位に切り捨てる | =FLOOR.MATH(12,5) |
10 |
| 15単位に切り捨てる | =FLOOR.MATH(47,15) |
45 |
正の数を整数や10単位へ切り捨てる場合は、どちらの関数でも同じ結果にできます。
しかし、ROUNDDOWN関数の桁数指定だけでは、5単位や15単位への切り捨てはできません。
どの桁まで残したいかならROUNDDOWN関数、何の倍数にそろえたいかならFLOOR.MATH関数、と考えると分かりやすいと思います。
5単位・10単位・15単位に切り捨てる方法
5単位に切り捨てる(基準値:5)
数値を5単位に切り捨てたい場合は、基準値に 5 を指定します。
=FLOOR.MATH(442,5) → 440
442より小さい5の倍数のうち、最も近い数値は440なので、結果は440になります。
例えば 441、442、444 の場合はいずれも440になりますが、元の数値がちょうど 440 なら結果も440です。
10単位に切り捨てる(基準値:10)
10単位に切り捨てたい場合は、基準値を 10 にします。
=FLOOR.MATH(1234.561,10) → 1230
1234.561より小さい10の倍数のうち、最も近い1230に切り捨てます。
15単位に切り捨てる(基準値:15)
15単位に切り捨てたい場合は、基準値を 15 にします。
=FLOOR.MATH(47,15) → 45
15の倍数は15、30、45、60・・・となります。47は60に満たないため、手前の45になります。
5単位・15単位のように、ROUNDDOWN関数の桁数では指定できない切り捨ても可能です。
100単位・1000単位に切り捨てる方法
100単位に切り捨てる(基準値:100)
100単位に切り捨てたい場合は、基準値に 100 を指定します。
=FLOOR.MATH(1234.561,100) → 1200
1234.561より小さい100の倍数のうち、最も近い1200になります。
1000単位に切り捨てる(基準値:1000)
1000単位なら、基準値は 1000 です。
=FLOOR.MATH(1234.561,1000) → 1000
この場合は、ROUNDDOWN関数で桁数に -3 を指定した場合と、同じ結果です。
ただし、基準値を 50 や 200 にしたい場合は、ROUNDDOWN関数ではなくFLOOR.MATH関数を使う方が簡単です。
FLOOR.MATH関数は仕事でどう使う?3つの実用例
実際の仕事では、「決まった単位で数量をそろえる」「予算内で購入できる金額を求める」「売上時刻を一定の時間単位そろえる」といった用途があります。
ここでは、切り捨てる単位が決まっている場合の具体例を紹介します。
箱詰めできる数量を12個単位で求める(出荷・在庫管理)
例えば、ある商品の在庫が 41個 で、1箱12個入りで出荷するとします。
端数だけの箱は出荷しないため、12の倍数で41個以内になる数量を求める必要があります。
12の倍数は12、24、36、48と続くので、41個以内になる最も近い数値は36です。
このような場合は、
=FLOOR.MATH(41,12) → 36個
とすれば、12個入りの箱に詰めて出荷できる数量を計算できます。
48個では在庫の41個を超えてしまうため、36個を3箱に詰めて出荷し、残りの5個は在庫として残すことになります。
予算内で購入できる金額を5,000円単位で求める(備品購入・予算管理)
例えば、備品購入の予算が128,400円で、購入したい備品は1セット5,000円だったとします。
送料などの追加費用がなく、予算内でできるだけ多くのセットを購入する場合は、
=FLOOR.MATH(128400,5000) → 125,000円
となります。
5,000の倍数のうち、128,400円を超えず最も近い金額が125,000円だからです。25セットを購入でき、予算の残りは3,400円になります。
同じ数値をROUNDDOWN関数で1,000円単位に切り捨てると128,000円、10,000円単位なら120,000円になるため、5,000円単位にはできません。
売上時刻を15分ごとの時間帯にそろえる(店舗・売上集計)
例えば、売上データを15分ごとの時間帯に分けて集計したいとします。
セルA1に売上時刻の 10:47 が入力されている場合は、
=FLOOR.MATH(A1,TIME(0,15,0)) → 10:45
となります。結果のセルの表示形式は、時刻の h:mm に設定します。
10:47は10:45以上11:00未満の時間帯に入るため、その時間帯の始まりである10:45にそろえます。
各売上時刻に同じ計算をすると、10:46も10:59も10:45になります。この時刻ごとに売上金額を集計すれば、15分ごとの売上を比較できます。
Excelの時刻データを使うため、基準値には数値の 15 ではなく、15分を表す TIME(0,15,0) を指定します。
数値と基準値・モードを変えて切り捨てを体験しよう
ここまでの説明を見て、なんとなくはわかっても実際にやってみないと分かりにくい部分もあるかと思います。
FLOOR.MATH関数ビジュアライザー(無料・登録不要)では、サイト上で数値と基準値、モードを変更しながら、計算結果を確認できます。
初期状態では、B2に -5.5、C2に基準値 2、D2にモード 0、E2に結果 -6 が入っています。
例えば、次のように変更してみてください。
- B2を
12、C2を5にして、結果が10になることを確認する。5単位に切り捨てた結果です。モードは0のままでも変更しても結果は10です。 - B2を
47、C2を15にして、結果が45になることを確認する。15単位に切り捨てた結果です。モードは0のままでも変更しても結果は45です。 - B2を
-5.5、C2を2、D2を0にして、結果が-6になることを確認する。負の数を、0から遠ざかる方向へ2単位で切り捨てた結果です。 - D2を
0から-1に変えて、結果が-4になることを確認する。負の数を、0に近づく方向へ2単位で丸めた結果です。
特に3と4では、モードの指定によって結果が変わるので、注意してみてください。
FLOOR.MATH関数を使うときの注意点
マイナスの数値はどう切り捨てられる?
FLOOR.MATH関数は、負の数の場合、モードによって丸める方向が変わります。
モードを省略するか 0 にすると0から遠ざかる方向、0以外を指定すると0に近づく方向へ丸めます。
例えば、次のような結果になります。
| 数式 | 結果 |
|---|---|
=FLOOR.MATH(5.5,2) |
4 |
=FLOOR.MATH(-5.5,2) |
-6 |
=FLOOR.MATH(-5.5,2,0) |
-6 |
=FLOOR.MATH(-5.5,2,1) |
-4 |
=FLOOR.MATH(-5.5,2,-1) |
-4 |
-5.5 を2の倍数に丸める場合、0に近い側は -4、0から遠い側は -6 です。
モードを省略すると -6 ですが、1 や -1 など0以外を指定すると -4 になります。
また、正の数の場合はモードを変えても結果は変わりません。
ROUNDDOWN関数との負の数の違い
ROUNDDOWN関数は、正の数でも負の数でも0に近づく方向へ丸めます。
一方、FLOOR.MATH関数はモードを省略すると、負の数は0から遠ざかる方向へ丸めます。
| 数式 | 結果 |
|---|---|
=ROUNDDOWN(-5.5,0) |
-5 |
=FLOOR.MATH(-5.5,1) |
-6 |
=FLOOR.MATH(-5.5,1,1) |
-5 |
=ROUNDUP(-5.5,0) |
-6 |
同じ切り捨ての関数でも、負の数では結果が異なることがあります。
特に、FLOOR.MATH関数では、モードに 0 を指定(または省略)するか 0 以外を指定するかによっても結果が変わるため、負の数を扱う場合は注意しましょう。
基準値を省略した場合
FLOOR.MATH関数では、基準値とモードを省略できます。
例えば、
=FLOOR.MATH(12.34)→ 12=FLOOR.MATH(12.34,)→ 12=FLOOR.MATH(-5.5)→ -6=FLOOR.MATH(-5.5,)→ -6
となります。
正の数は0に近い整数へ、負の数は0から遠い整数へ丸められます。既に整数であれば変わりません。
ROUNDDOWN関数の桁数は =ROUNDDOWN(12.34,) のように , の後を省略できますが、=ROUNDDOWN(12.34) のようにはできません。
一方、FLOOR.MATH関数の基準値は =FLOOR.MATH(12.34) のように , 自体の省略も可能です。
セルの表示形式を変えるだけでは数値は切り捨てられない
Excelでは、セルの表示形式で小数点以下の表示桁数を変更できます。ただし、見た目上は数字が変わっても、セルに保存された元の数値はそのままです。
例えば、セルA1に 12.34 が入力されている場合、表示形式を小数1桁にすると、画面上は 12.3 と表示されます。
しかしこれは小数第2位が四捨五入された結果が表示されているだけで、元の数値は 12.34 のままです。元の数値が 12.35 なら、表示形式を小数1桁にすると 12.4 になります。
また、表示形式では、5単位や15単位に切り捨てる計算はできません。
表示形式による見た目の変更と、FLOOR.MATH関数による実際の計算結果の変更は別ということです。
CEILING.MATH関数との違い
CEILING.MATH関数は、指定した倍数へ切り上げる関数です。
例えば、正の数を5単位に丸める場合は、次のようになります。
| 数式 | 結果 |
|---|---|
=FLOOR.MATH(12,5) |
10 |
=CEILING.MATH(12,5) |
15 |
FLOOR.MATH関数は10、CEILING.MATH関数は15です。
切り捨てたい場合と切り上げたい場合で、使う関数が異なります。
CEILING.MATH関数で指定した単位に切り上げる方法について詳しくは、Excelで5・10・15単位に切り上げる方法|CEILING.MATH関数の使い方も参考にしてください。
FLOOR.MATH関数・CEILING.MATH関数・ROUNDDOWN関数・ROUNDUP関数の使い分け
4つの関数は似ていますが、端数をどのように扱うかと、丸める単位の指定方法が異なります。
| 関数 | 端数の扱い | 例 |
|---|---|---|
| FLOOR.MATH関数 | 指定した倍数へ切り捨て | =FLOOR.MATH(12,5) → 10 |
| CEILING.MATH関数 | 指定した倍数へ切り上げ | =CEILING.MATH(12,5) → 15 |
| ROUNDDOWN関数 | 指定した桁で切り捨て | =ROUNDDOWN(12.34,1) → 12.3 |
| ROUNDUP関数 | 指定した桁に切り上げ | =ROUNDUP(12.34,1) → 12.4 |
例えば先ほどの箱詰めの例では、41個の商品から12個入りの箱に詰められる数量を求めるなら、=FLOOR.MATH(41,12) で36個という結果になります。
一方、41個の商品が必要で、12個単位でしか発注できないなら、=CEILING.MATH(41,12) で48個と計算できます。
41個の商品から、12個すべて入った箱を何箱作れるか?であれば、=ROUNDDOWN(41/12,0) で3箱となります。
41個すべての商品を箱に入れるために必要な箱数を求めるなら、=ROUNDUP(41/12,0) で4箱です。この場合は、端数の5個を入れる箱も含みます。
同じ数値でも、何を知りたいかによって使う関数が変わるということです。
CEILING.MATH関数で指定した単位に切り上げる方法について詳しくは、Excelで5・10・15単位に切り上げる方法|CEILING.MATH関数の使い方も参考にしてください。
ROUNDUP関数で切り上げる方法について詳しくは、Excelで必ず切り上げる方法|ROUNDUPで小数・整数の桁を指定するも参考にしてください。
ROUNDDOWN関数で切り捨てる方法について詳しくは、Excelで必ず切り捨てる方法|ROUNDDOWNで小数・整数の桁を指定するも参考にしてください。
まとめ|FLOOR.MATH関数は指定した倍数へ切り捨てたい場合に使う
FLOOR.MATH関数は、=FLOOR.MATH(数値,基準値,モード) と書き、基準値を変えることで、5・10・15・100など指定した単位へ切り捨てることができます。
ROUNDDOWN関数は桁数を指定しますが、FLOOR.MATH関数は何の倍数にするかを指定するため、5単位や15単位でも計算できます。
負の数ではモードによって結果が変わるため、0に近づけたいか、0から遠ざけたいかを確認しましょう。
どの基準値を指定すればよいかさくっと確認したいときは、FLOOR.MATH関数ビジュアライザーで数値と基準値、モードを変えながら確認してみてください。
複数の関数の結果の違いを並べて比較できるページもあります→同じ数値で6つの丸め方を比較。
