Excelの切り捨て関数、FLOOR系だけで3種類もあって「どれを使えばいいの?」と迷いますよね。特に負の数が絡むと、関数によって丸め方向が変わるのでややこしいです。
FLOOR.PRECISE関数は「符号に関係なく、常にマイナス無限大方向に切り捨てる」というシンプルな動作が特徴です。この記事では基本の書き方から実務パターン、FLOOR・FLOOR.MATHとの違いまで紹介します。
この記事は次のような人におすすめ
- FLOOR.PRECISE関数の使い方を知りたい
- FLOOR関数やFLOOR.MATH関数との違いを理解したい
- 負の数を含むデータで切り捨て方向を統一したい
FLOOR.PRECISE関数とは?
FLOOR.PRECISE(フロア プリサイス)関数は、数値を指定した倍数の方向に切り捨てて丸める関数です。「precise」は英語で「正確な」の意味で、丸め方向が常に一定という特徴を表しています。
最大の特徴は負の数でも常にマイナス無限大方向(数直線の左方向)に丸める点です。たとえば「-4.3」を1の倍数で切り捨てると「-5」になります。0に近づく方向ではなく、常に小さい方の数に向かいます。
もうひとつの特徴として、基準値の符号が無視されることがあります。基準値に負の数を指定しても絶対値として扱われるため、#NUM!エラーが起きません。
Excel 2010以降のバージョンで使用でき、Microsoft 365にも対応しています。
FLOOR.PRECISE関数の書き方(構文と引数)
基本構文
=FLOOR.PRECISE(数値, [基準値])
引数は2つです。基準値は省略できます。
引数の説明
| 引数 | 必須/任意 | 内容 |
|---|---|---|
| 数値(number) | 必須 | 切り捨てたい数値。セル参照や数式もOK |
| 基準値(significance) | 任意 | 切り捨ての基準となる倍数。省略すると1 |
基準値の符号は無視されます
=FLOOR.PRECISE(17, -5)と=FLOOR.PRECISE(17, 5)は同じ結果(15)になります。基準値は常に絶対値として扱われるので、正負を気にする必要はありません。
FLOOR.PRECISE関数の基本的な使い方
数値を直接入力する
=FLOOR.PRECISE(17, 5)
結果は「15」です。17以下で最も大きい5の倍数が15なので、15が返ります。
=FLOOR.PRECISE(19, 5)
こちらも結果は「15」です。FLOOR.PRECISE関数は常に切り捨て方向なので、19より小さい5の倍数である15になります。
基準値を省略する(整数への切り捨て)
=FLOOR.PRECISE(3.7)
結果は「3」です。基準値を省略すると1が使われるので、整数部分だけが返ります。TRUNC関数と同じ感覚で使えますよ。
セル参照を使う
A1に「1,234」が入っているとき、100の倍数に切り捨ててみましょう。
=FLOOR.PRECISE(A1, 100)
結果は「1,200」です。1,234以下で最も大きい100の倍数が1,200です。
小数の基準値で切り捨てる
0.5刻みで切り捨てる例です。
=FLOOR.PRECISE(3.7, 0.5)
結果は「3.5」です。3.7以下で最も大きい0.5の倍数が3.5になります。
負の数を切り捨てる(FLOOR.PRECISEの最大の特徴)
ここがFLOOR.PRECISE関数の真骨頂です。
=FLOOR.PRECISE(-4.3, 1)
結果は「-5」です。-4.3より小さい(マイナス方向の)整数は-5なので、-5が返ります。
比較のために、同じ計算をFLOOR.MATH関数で行ってみます。
=FLOOR.MATH(-4.3, 1)
こちらも結果は「-5」です。FLOOR.MATHはモード省略時(既定)で−∞方向に丸めるため、同じ結果になります。
FLOOR.MATHの第3引数で結果が変わります
=FLOOR.MATH(-4.3, 1, 1)とモードに1を指定すると、結果は「-4」です。0に近づく方向に丸められます。FLOOR.PRECISE関数にはこのモード切り替えがないため、常に−∞方向で統一されます。
実務でのFLOOR.PRECISE関数活用例
勤怠管理の時間切り捨て(15分単位)
終業時刻を15分単位に切り捨てる例です。Excelの時刻はシリアル値なので、15分="0:15"を基準値に指定します。
=FLOOR.PRECISE(B2, "0:15")
B2に「17:47」が入っていれば結果は「17:45」です。正の数の場合はFLOOR関数と同じ結果になります。
始業は切り上げ、終業は切り捨て
始業時刻には「次の15分に切り上げ」が必要です。CEILING関数を使って
=CEILING(A2, "0:15")とすれば、9:07→9:15のように切り上がります。
温度データのマイナス方向丸め
冷凍庫の温度記録で「0.5度刻みの最低側」に丸めたいケースです。
=FLOOR.PRECISE(B3, 0.5)
B3に「-18.3」が入っていれば結果は「-18.5」です。マイナス方向に丸まるので、温度管理で安全サイドの表示になります。
FLOOR関数だと負の数に負の基準値を指定する必要があり面倒ですが、FLOOR.PRECISE関数なら基準値の符号を気にしなくてOKです。
損益データのマイナス方向切り捨て
利益・損失の一覧で、すべて1,000円単位で切り捨てたい場合です。
=FLOOR.PRECISE(C4, 1000)
C4が「5,678」なら結果は「5,000」です。C4が「-3,456」なら結果は「-4,000」になります。正の数も負の数も常にマイナス方向に丸まるので、利益は控えめ・損失は厳しめの表示です。予算管理で保守的な数字を出したいときに向いています。
よくあるエラーと対処法
#VALUE! エラー
引数に数値として認識できない文字列が入っていると発生します。
=FLOOR.PRECISE("abc", 5)
セル参照先に文字列が入っていないか確認してください。
#DIV/0! エラー
基準値に0を指定すると発生します。
=FLOOR.PRECISE(10, 0)
基準値は0以外の数値を指定してください。省略すれば1が使われます。
#NUM!エラーは起きません
旧FLOOR関数では正の数に負の基準値を指定すると#NUM!エラーになりました。FLOOR.PRECISE関数は基準値の符号を無視するため、このエラーは発生しません。
FLOOR・FLOOR.MATHとの違い・使い分け
FLOOR系3関数の違いを比較表で整理します。数値=−4.3、基準値=1の場合です。
| 関数 | 結果 | 丸め方向 | 基準値の符号 | 対応バージョン |
|---|---|---|---|---|
| FLOOR | -4 | 0に向かう | 数値と同符号が必要 | Excel 2003〜 |
| FLOOR.MATH(モード省略) | -5 | −∞方向(切替可) | 自由 | Excel 2013〜 |
| FLOOR.PRECISE | -5 | 常に−∞方向 | 無視される | Excel 2010〜 |
正の数だけを扱う場面では3関数とも同じ結果になります。違いが出るのは負の数のときです。
どの関数を使うべき?
- 正の数だけ扱う場合: どれでもOK。引数が最もシンプルな
=FLOOR.PRECISE(数値, 基準値)が手軽です - 負の数が混在し、方向を固定したい場合: FLOOR.PRECISE関数がおすすめです。常に−∞方向なので考えることが少なくて済みます
- 負の数の丸め方向を場面ごとに切り替えたい場合: FLOOR.MATH関数の第3引数(モード)を使ってください
- Excel 2010環境が残っている場合: FLOOR.MATHはExcel 2010では使えないため、FLOOR.PRECISEを使いましょう
詳しい比較はFLOOR/CEILING系6関数の比較記事でまとめています。
まとめ
FLOOR.PRECISE関数は、数値を指定した倍数に切り捨てるときに使う関数です。
ポイントを整理します。
- 構文は
=FLOOR.PRECISE(数値, [基準値])で基準値は省略可 - 常にマイナス無限大方向(数直線の左方向)に丸める
- 基準値の符号は無視される(正負どちらでも同じ結果)
- 正の数ではFLOOR関数と同じ結果。違いが出るのは負の数のとき
- 勤怠の時間切り捨て、温度記録、損益データなど実務で幅広く使える
- 丸め方向を切り替えたいならFLOOR.MATH関数、3関数の詳しい比較は6関数比較記事をどうぞ
まずは =FLOOR.PRECISE(A1, 100) で100円単位の切り捨てから試してみてください。
関数一覧
Excel関数の一覧は以下の記事から確認できます。
エラー値まとめ
Excelのエラー値の種類と対処方法は、こちらの記事にまとめています。
