Excel FLOOR.PRECISE関数の使い方|負の数でも常にマイナス方向に切り捨て

スポンサーリンク

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-40に向かう数値と同符号が必要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のエラー値の種類と対処方法は、こちらの記事にまとめています。

タイトルとURLをコピーしました