FLOOR.MATH 関数は、数値を指定した単位で切り捨てる関数です。=FLOOR.MATH(A2,100) なら 100 円単位、=FLOOR.MATH(B2,"0:15") なら 15 分単位、=FLOOR.MATH(C2,10) なら年齢を 10 歳きざみ(年代)にできます。
この記事では、FLOOR.MATH の使い方と、マイナスの値や時刻で気をつけることを、実際の Excel で確かめた結果で説明します。FLOOR.MATH は Excel 2013 以降で使えます。
FLOOR.MATH 関数の書き方
=FLOOR.MATH(数値, [基準値], [モード])
| 引数 | 意味 |
|---|---|
| 数値 | 切り捨てたい値 |
| 基準値(省略可) | 何の倍数に切り捨てるか(省略は 1) |
| モード(省略可) | マイナスの値の切り捨てる向き(0 か省略で 0 から遠ざかる向き、それ以外で 0 に近づく向き) |
1. 100 円単位で切り捨てる
金額を 100 の倍数に切り捨てます。
=FLOOR.MATH(A2:A6,100)

1,234 は 1,200、1,250 も 1,200、1,299 も 1,200 になりました。100 に届かない 76 と 3 は 0 です。
2. 時刻を 15 分単位で切り捨てる
基準値に "0:15" と書くと、時刻を 15 分単位で切り捨てます。出勤時刻を 15 分単位にそろえるときなどに使います。
=FLOOR.MATH(B2:B6,"0:15")

9:07 は 9:00、ちょうどの 9:15 は 9:15、9:22 は 9:15、17:52 は 17:45、18:00 は 18:00 になりました。
3. 年齢から年代(20 代・30 代)を出す
年齢を 10 の倍数に切り捨てると年代になります。&"代" で「代」を付けます。
=FLOOR.MATH(C2:C6,10)&"代"

34 歳は 30代、47 歳は 40代、29 歳は 20代、61 歳は 60代、18 歳は 10代 になりました。年代ごとの人数は、この列を COUNTIF で数えます。
【実機で検証】FLOOR.MATH でつまずくところ

| ためしたこと | 式 | 結果 |
|---|---|---|
| マイナスの値(モード省略) | =FLOOR.MATH(-1234,100) | -1,300. |
| マイナスの値(モード 1) | =FLOOR.MATH(-1234,100,1) | -1,200. |
| ROUNDDOWN でマイナスの値 | =ROUNDDOWN(-1234,-2) | -1,200. |
| 古い FLOOR で正の値 | =FLOOR(1234,100) | 1,200. |
| 基準値を省略(-3.2) | =FLOOR.MATH(-3.2) | -4. |
| INT(-3.2) | =INT(-3.2) | -4. |
マイナスの値は、モードを省略すると 0 から遠ざかる向き(小さいほう)に切り捨てられ、-1,234 は -1,300. になりました。モードに 1 を入れると、0 に近づく向きの -1,200. になり、ROUNDDOWN(-1,200.)と同じです。
正の値なら、古い FLOOR 関数(1,200.)とも同じ結果です。基準値を省略した -3.2 は -4. で、INT(-4.)と同じ向きでした。マイナスの値をあつかう表では、どちらの向きにしたいかを先に決めておきます。
よくある質問
FLOOR と FLOOR.MATH のちがいは?
FLOOR は基準値が必須で、マイナスの値と正の基準値の組み合わせの扱いが古い形です。新しく式を書くなら、基準値を省略でき、マイナスの向きもモードで選べる FLOOR.MATH が使いやすいです。
ROUNDDOWN・INT とどちらを使う?
10・100 などの桁で切り捨てるなら ROUNDDOWN、小数点以下を切り捨てて整数にするなら INT で十分です。50 円・15 分・10 歳きざみのような単位で切り捨てたいときに FLOOR.MATH を使います。くわしくは ROUNDDOWN関数の使い方で説明しています。
四捨五入・切り上げにしたいときは?
指定した単位で四捨五入するなら MROUND 関数、切り上げるなら CEILING.MATH 関数を使います。

コメント