スプレッドシートのFLOOR.PRECISE関数の使い方|倍数切り捨て

スポンサーリンク

「FLOOR関数やFLOOR.MATH関数があるのに、FLOOR.PRECISEって何が違うの?」。そう思った方も多いのではないでしょうか。

スプレッドシートには切り捨て系の関数が複数あります。名前も似ていて、使い分けに迷いますよね。

FLOOR.PRECISE関数は、倍数の符号を一切気にせず、常に数直線上で小さい方向に切り捨ててくれる関数です。引数も2つだけなので、シンプルに使えます。

この記事では基本の書き方からFLOOR関数・FLOOR.MATH関数との違い、実務での使いどころまで紹介します。

スプレッドシートのFLOOR.PRECISE関数とは?

FLOOR.PRECISE関数(読み方: フロア プリサイス関数)は、数値を指定した倍数の方向へ切り捨てる関数です。

名前の「PRECISE」は「正確な・精密な」という意味です。FLOOR関数の改良版として追加されました。

最大の特徴は「倍数の絶対値」を使う点です。倍数に負の値を指定しても、正の値と同じ動作をします。つまり、常に数直線上で小さい方向(負方向)に切り捨てます。

FLOOR.PRECISE関数にできることをまとめると、次のとおりです。

  • 正の数を指定した倍数の方向へ切り捨てる
  • 負の数を常に「小さい方向(0から離れる方向)」に切り捨てる
  • 倍数が正でも負でも同じ結果になる(絶対値を使うため)
  • 倍数を省略すると整数に切り捨てる

NOTE

FLOOR.PRECISE関数はGoogleスプレッドシートの全バージョンで使えます。ExcelではExcel 2010以降で対応しています。

FLOOR.PRECISE関数の書き方(構文と引数)

基本構文

=FLOOR.PRECISE(数値, 倍数)

カッコの中に「切り捨てたい数値」と「倍数」を指定します。FLOOR.MATH関数と違い、mode引数はありません。常に小さい方向への切り捨てです。

引数の説明

引数必須/任意説明
数値必須切り捨てたい数値やセル参照、数式
倍数任意切り捨てる基準となる倍数(省略時は1)

倍数を省略すると「1」が使われます。つまり整数への切り捨てです。

倍数に負の値を指定しても、絶対値として扱われます。たとえば倍数に「-100」を指定しても「100」と同じ結果です。

TIP

引数が2つだけなのでシンプルです。「倍数の符号を気にしなくていい」というのがFLOOR.PRECISE関数の最大のメリットですよ。

基本的な使い方

正の数を整数に切り捨てる

いちばんシンプルな例です。A2に小数が入っているとします。

=FLOOR.PRECISE(A2)

A2が「3.7」なら結果は「3」です。倍数を省略すると、整数への切り捨てになります。

正の数を100単位に切り捨てる

=FLOOR.PRECISE(A2, 100)

A2が「1,280」なら結果は「1,200」です。正の数ではFLOOR関数FLOOR.MATH関数と結果は同じです。

負の数を切り捨てる

FLOOR.PRECISE関数は、負の数を常に「小さい方向(0から離れる方向)」に切り捨てます。

=FLOOR.PRECISE(-7.3)

結果は「-8」です。数直線で見ると「-7.3」より小さい整数「-8」に切り捨てられます。

倍数に負の値を指定した場合

倍数の符号は無視されます。これがFLOOR.PRECISE関数の特徴です。

=FLOOR.PRECISE(-7.3, -1)

結果は「-8」です。倍数に「-1」を指定しても「1」と同じ動作です。

ちょうど倍数のときの動作

元の値がすでに倍数ちょうどの場合、切り捨ては起きません。

=FLOOR.PRECISE(1500, 500)

結果は「1500」です。「1000」にはなりません。端数がなければ値はそのまま返ります。

FLOOR関数・FLOOR.MATH関数との違い

FLOOR系関数は3つありますが、違いは「負の数の扱い」と「引数の数」に集中しています。正の数では3つとも同じ結果です。

3関数の比較表

項目FLOORFLOOR.MATHFLOOR.PRECISE
引数の数23(mode付き)2
倍数の符号数値と同じ符号が必要符号を無視符号を無視(絶対値)
負の数の方向0から離れる(負の倍数で指定)mode=0: 0から離れる / mode=1: 0に近づく常に0から離れる
方向の切り替えできないmode引数で可能できない(常に負方向)

負の数での比較(具体例)

「-1280」を100単位で丸めてみましょう。

数式結果方向
=FLOOR(-1280, -100)-13000から離れる
=FLOOR.MATH(-1280, 100)-13000から離れる(デフォルト)
=FLOOR.MATH(-1280, 100, 1)-12000に近づく
=FLOOR.PRECISE(-1280, 100)-13000から離れる(常にこの方向)

FLOOR.PRECISE関数とFLOOR.MATH関数(mode=0)は同じ結果です。違いは「方向を切り替えられるかどうか」です。

どの関数を使うべき?

場面おすすめ
正の数だけ扱うどれでもOK(結果は同じ)
負の数も扱う(常に小さい方向でいい)FLOOR.PRECISE(引数がシンプル)
負の数の方向を切り替えたいFLOOR.MATH(mode引数で制御)
負の倍数を明示的に指定したいFLOOR(レガシーな書き方)

NOTE

迷ったらFLOOR.PRECISE関数がおすすめです。引数が2つだけで、倍数の符号を気にする必要がありません。方向を切り替えたくなったらFLOOR.MATH関数に変えましょう。

実務で使える活用パターン

価格を100円単位に切り捨てる

見積金額の端数を100円単位で切り捨てたい場面です。

=FLOOR.PRECISE(A2, 100)

A2が「2,750」なら結果は「2,700」です。「3,120」なら「3,100」になります。端数を切り捨てて見積金額を整えたいときに便利ですよ。

時間を15分単位に切り捨てる

作業時間の記録を15分刻みにしたい場合です。スプレッドシートでは時間は「1日=1」の小数値(シリアル値)で管理されています。15分は "0:15" で指定できます。

=FLOOR.PRECISE(A2, "0:15")

A2が「9:22」なら結果は「9:15」です。「10:47」なら「10:45」になります。勤怠管理や作業報告で活用してみてください。

予算計算で1,000円単位に切り捨てる

予算の端数を1,000円単位で切り捨てたい場面です。

=FLOOR.PRECISE(A2, 1000)

A2が「45,678」なら結果は「45,000」です。予算申請で端数をきれいに揃えたいときに使えます。

負の値を含む損益データの切り捨て

損益データには利益(正の数)と損失(負の数)が混在します。FLOOR.PRECISE関数なら符号を気にせず同じ数式で処理できます。

=FLOOR.PRECISE(A2, 100)

A2が「567」なら「500」です。「-456」なら「-500」です。どちらの符号でも倍数は「100」のままでOKです。

TIP

正の数だけの切り捨てならFLOOR関数でも十分です。負の数が混在するデータではFLOOR.PRECISE関数を選ぶと安心ですよ。

よくあるエラーと対処法

FLOOR.PRECISE関数は倍数の符号を気にしなくていいぶん、エラーが起きにくい関数です。それでもいくつか注意点があります。

エラー原因対処法
#VALUE!数値や倍数に文字列が入っているセル参照先が数値かどうか確認する
#ERROR!構文ミス(カンマ忘れ、関数名の入力ミス等)数式の入力内容を見直す
結果が0倍数に0を指定している0以外の倍数を指定する

FLOOR関数との違い: #NUM!エラーが起きない

FLOOR関数では「正の数 + 負の倍数」で#NUM!エラーになります。FLOOR.PRECISE関数ではこのエラーは起きません。

=FLOOR(1280, -100)          → #NUM!エラー
=FLOOR.PRECISE(1280, -100)  → 1200(エラーにならない)

倍数の符号を間違えてもエラーにならないのは、FLOOR.PRECISE関数の大きな利点です。

倍数に0を指定したとき

倍数に0を指定すると結果は0になります。

=FLOOR.PRECISE(1234, 0)

結果は「0」です。倍数のセルが空や0になっていないか確認しましょう。

似た関数との違い・使い分け

スプレッドシートには切り上げ・切り捨て系の関数が複数あります。丸めの方向と引数の違いで使い分けましょう。

関数丸め方第2引数負の数の扱い
FLOOR.PRECISE倍数の方向へ切り捨て倍数常に0から離れる(小さい方向)
FLOOR.MATH倍数の方向へ切り捨て倍数mode引数で方向制御
FLOOR倍数の方向へ切り捨て倍数負の倍数が必要
MROUND最も近い倍数に丸め倍数符号をそろえる必要あり
CEILING.PRECISE倍数の方向へ切り上げ倍数常に0に近づく(大きい方向)
CEILING.MATH倍数の方向へ切り上げ倍数mode引数で方向制御
CEILING倍数の方向へ切り上げ倍数負の倍数が必要
ROUNDDOWN常に切り捨て桁数0に近づく方向
INT整数に切り捨てなし常に小さい方向

FLOOR.PRECISEとCEILING.PRECISEの使い分け

この2つはペアの関数です。丸める方向が逆なだけで、引数の使い方は同じです。

場面おすすめ
端数を切り捨てたい(小さい方向へ)FLOOR.PRECISE
端数を切り上げたい(大きい方向へ)CEILING.PRECISE
引数をシンプルにしたいどちらもOK(ともに2引数)

FLOOR.PRECISEとROUNDDOWNの使い分け

どちらも「切り捨て」ですが、指定方法が異なります。

  • FLOOR.PRECISE: 「倍数」で指定(100単位、500単位など)
  • ROUNDDOWN: 「桁数」で指定(小数第2位、10の位など)

500円単位の切り捨てならFLOOR.PRECISE、小数第1位での切り捨てならROUNDDOWNが向いています。

TIP

丸め関数の個別記事もチェックしてみてください。FLOORFLOOR.MATHCEILING.PRECISECEILING.MATHCEILINGMROUNDROUNDDOWNINTで詳しく解説しています。

まとめ

FLOOR.PRECISE関数は、数値を指定した倍数の方向へ切り捨てる関数です。倍数の符号を無視して常に小さい方向(負方向)に切り捨てるのが最大の特徴です。

ポイントを整理します。

  • 構文は =FLOOR.PRECISE(数値, 倍数) の2引数でシンプル
  • 倍数の符号は無視される(絶対値として使われる)
  • 正の数ではFLOOR関数FLOOR.MATH関数と結果は同じ
  • 負の数では常に0から離れる方向に切り捨てる(方向の切り替えはできない)
  • 方向を切り替えたい場合はFLOOR.MATH関数のmode引数を使う
  • CEILING.PRECISE関数はペアの切り上げ関数

まずは =FLOOR.PRECISE(A1, 100) で100単位の切り捨てから試してみてください。倍数の符号を気にしなくていいので、数式がシンプルに保てますよ。

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