Excelで「15分未満の端数を切り捨てたい」「100円単位に切り下げたい」「12個入りのケース単位で出荷数を求めたい」——こんな場面で毎回電卓を叩いていませんか。ROUNDDOWN関数でもできなくはないですが、ROUNDDOWNは「桁数」で指定するので、「5の倍数」「12の倍数」のような任意の倍数で切り捨てるのは苦手です。
FLOOR関数を使えば、好きな倍数を指定して切り捨て方向に丸められます。この記事では基本の書き方から勤怠計算・料金処理・在庫管理などの実務パターン、FLOOR.MATHとの違い、CEILING・MROUND・ROUND・INT・TRUNCとの使い分けまでまとめて紹介します。
この記事は次のような人におすすめ
FLOOR関数とは?
FLOOR(フロア)関数は、数値を指定した倍数の方向に切り捨てて丸める関数です。名前は英語の「floor(床)」に由来し、「床に向かって下げる」=切り捨てのイメージで覚えると分かりやすいです。
たとえば「17」を5の倍数で切り捨てると「15」になります。17に近い5の倍数は15と20ですが、FLOOR関数は常に小さい方(ゼロに近い方)を返します。
Excel 2003以降のバージョンで使用でき、Microsoft 365やGoogleスプレッドシートにも対応しています。Excel 2013以降では、負の数の扱いをシンプルにしたFLOOR.MATH関数も追加されています。
FLOOR関数でできること
- 15分・30分単位に時刻を切り捨て
- 100円・1,000円単位に金額を切り捨て
- 12個単位・ケース単位に数量を切り捨て
- 0.5・0.1刻みなど小数の倍数で切り捨て
ROUNDDOWN関数は「小数第2位まで」「10の位まで」のような桁数単位の切り捨てが得意ですが、FLOOR関数は「任意の倍数単位」に強いのが特徴です。
FLOOR関数の書き方(構文と引数)
基本構文
=FLOOR(数値, 基準値)
引数は2つ。どちらも必須です。
引数の説明
| 引数 | 必須/任意 | 内容 |
|---|---|---|
| 数値(number) | 必須 | 切り捨てたい数値。セル参照や数式もOK |
| 基準値(significance) | 必須 | 切り捨ての基準となる倍数。0以外の数値 |
正の数を負の基準値で切り捨てようとすると #NUM! エラーになります。正負が混在する数値には、後述するFLOOR.MATH関数の使用を検討してください。
FLOOR関数の基本的な使い方
数値を直接入力する
=FLOOR(17, 5)
結果は「15」です。17以下で最も大きい5の倍数が15なので、15が返ります。
=FLOOR(19, 5)
こちらも結果は「15」です。19は20に近いですが、FLOOR関数は常に切り捨てるので15になります。四捨五入であればMROUND関数の出番です。
ちょうど倍数と一致する場合
=FLOOR(20, 5)
結果は「20」です。もともと5の倍数なので、そのまま返されます。
セル参照を使う
A1に「1,234」が入っているとき、100の倍数に切り捨ててみましょう。
=FLOOR(A1, 100)
結果は「1,200」です。1,234以下で最も大きい100の倍数が1,200です。
小数の基準値も指定できる
0.5刻みで切り捨てる例です。
=FLOOR(3.7, 0.5)
結果は「3.5」になります。3.7以下で最も大きい0.5の倍数が3.5です。パーセンテージや単価計算でも活躍します。
実務でのFLOOR関数活用例
勤怠管理の時間切り捨て(15分・30分単位)
勤怠計算で「終業時刻を15分単位に切り捨て」にするケースはよくあります。Excelの時刻はシリアル値なので、15分="0:15"を基準値に指定します。
=FLOOR(B2, "0:15")
B2に「17:47」と入っていれば結果は「17:45」、「17:52」でも「17:45」です。どちらも切り捨てなので、15の倍数以下で最も近い時刻が返ります。
30分単位ならこうです。
=FLOOR(B2, "0:30")
始業は切り上げ、終業は切り捨て
始業時刻は「次の15分に切り上げ」が必要なので、CEILING関数を使います。
=CEILING(A2, "0:15")で9:07→9:15のように切り上がります。FLOOR関数とCEILING関数を組み合わせると、勤怠の端数処理がスマートに解決できます。
料金を100円単位に切り捨てる(値引き計算)
割り勘や値引き計算など、細かい端数を切り捨てたい場面です。
=FLOOR(B3, 100)
B3に「3,456円」が入っていれば結果は「3,400円」です。幹事の負担が増える代わりに、参加者から端数を集める手間がなくなります。値引き後の価格を100円単位に揃える販促計算にも使えます。
在庫をケース単位(ロット単位)に切り捨てる
出荷可能な数量をケース単位(1ケース=12個)で求めたいケースです。
=FLOOR(A4, 12)
A4に「50」が入っていれば結果は「48」(4ケース分)です。端数の2個はバラとして残ります。QUOTIENT関数で「何ケースか」、MOD関数で「余り何個か」を求めるのと同じ考え方です。
奇数・偶数の倍数で丸める
「2の倍数で切り捨て」なら偶数に揃えられます。
=FLOOR(A1, 2)
奇数寄りに丸めたい場合はODD関数が便利です。用途に応じて組み合わせましょう。
FLOOR.MATH関数との違い(負の数の扱い)
Excel 2013以降で追加された FLOOR.MATH 関数は、FLOOR関数と似ていますが、負の数の扱いと基準値の符号の扱いがシンプルになっています。
構文
=FLOOR.MATH(数値, [基準値], [モード])
- 基準値を省略すると 1 が使われる(=整数に切り捨て)
- モードで負の数の丸め方向を切り替えられる(0=負の無限大方向、0以外=ゼロ方向)
負の数での挙動の違い
| 数式 | 結果 | 説明 |
|---|---|---|
=FLOOR(-10, 3) | #NUM! エラー | 正の基準値×負の数値はエラー |
=FLOOR(-10, -3) | -9 | ゼロに近い方向へ切り捨て |
=FLOOR.MATH(-10, 3) | -12 | 負の無限大方向へ切り捨て |
=FLOOR.MATH(-10, 3, 1) | -9 | モード1でゼロ方向へ切り捨て |
負の数が混ざるデータでエラーを避けたいなら、FLOOR.MATHの方が直感的です。新しく数式を作るなら FLOOR.MATH を選んでおくと安全です。
FLOOR関数と関連丸め関数の使い分け
Excelには似た名前の丸め関数がたくさんあります。数値=17、倍数/桁数=5の場合で比較します。
| 関数 | 丸め方向 | 指定方式 | 数式 | 結果 |
|---|---|---|---|---|
| FLOOR | 倍数で切り捨て | 倍数 | =FLOOR(17, 5) | 15 |
| FLOOR.MATH | 倍数で切り捨て(負数対応) | 倍数 | =FLOOR.MATH(17, 5) | 15 |
| CEILING | 倍数で切り上げ | 倍数 | =CEILING(17, 5) | 20 |
| MROUND | 倍数で四捨五入 | 倍数 | =MROUND(17, 5) | 15 |
| ROUND | 桁数で四捨五入 | 桁数 | =ROUND(17, -1) | 20 |
| ROUNDDOWN | 桁数で切り捨て | 桁数 | =ROUNDDOWN(17, -1) | 10 |
| INT | 整数に切り捨て | — | =INT(17.8) | 17 |
| TRUNC | 小数を切り捨て | 桁数 | =TRUNC(17.8) | 17 |
FLOORとROUNDDOWNの違い
どちらも切り捨てですが、FLOORは「倍数」で、ROUNDDOWNは「桁数」で指定します。「5の倍数」「12の倍数」のような任意の倍数にはFLOOR、「10の位まで」「小数第2位まで」のような桁単位ならROUNDDOWNが向いています。
FLOORとINT・TRUNCの違い
INT関数は「小数部を捨てて整数にする」関数で、基準値の指定はできません。TRUNC関数も同様に小数部を切り捨てます。「5単位」「100単位」など倍数指定が必要ならFLOORかFLOOR.MATHを使いましょう。
勤怠管理での使い分け
| 処理 | 関数 | 数式例 |
|---|---|---|
| 終業時刻を15分単位で切り捨て | FLOOR | =FLOOR(B2, "0:15") |
| 始業時刻を15分単位で切り上げ | CEILING | =CEILING(A2, "0:15") |
| 時刻を最も近い15分に丸め | MROUND | =MROUND(C2, "0:15") |
FLOOR関数のエラーと対処法
#NUM! エラー
正の数値に負の基準値を指定すると発生します。また、数値が負で基準値が正の場合も同じエラーになります。
=FLOOR(10, -3)
正の数を切り捨てるときは基準値も正、負の数を扱うときはFLOOR.MATH関数の利用がおすすめです。
=FLOOR.MATH(-10, 3)
#DIV/0! エラー
基準値に0を指定すると発生します。
=FLOOR(10, 0)
基準値は0以外の数値を指定してください。IF関数で基準値セルが0でないことを確認してから計算するのも有効です。
#VALUE! エラー
引数に数値として認識できない文字列が入っていると発生します。セルの表示形式が「文字列」になっていないか、参照先のデータ型を確認してください。時刻を指定するときは、"0:15" のようにダブルクォーテーションで囲むか、時刻シリアル値が入ったセルを参照します。
まとめ
FLOOR関数は、数値を指定した倍数に切り捨てるときに使う関数です。
ポイントを整理します。
- 構文は
=FLOOR(数値, 基準値)の2引数だけ - 常に「ゼロに近い方の倍数」に切り捨てる
- 勤怠の時間切り捨て、料金の端数カット、在庫のケース単位計算に便利
- 負の数を扱うときは FLOOR.MATH 関数の方が直感的で安全
- 切り上げならCEILING、四捨五入ならMROUND、桁数指定ならROUND、整数化ならINTと使い分ける
まずは =FLOOR(A1, 100) で100円単位の切り捨てから試してみてください。勤怠の"0:15"指定も、一度覚えると手放せなくなります。
関数一覧
Excel関数の一覧は以下の記事から確認できます。
エラー値まとめ
Excelのエラー値の種類と対処方法は、こちらの記事にまとめています。
