スプレッドシートのFLOOR関数の使い方|切り捨て(倍数指定)

スポンサーリンク

スプレッドシートのFLOOR関数の使い方|切り捨て(倍数指定)

「勤怠を15分単位で切り捨てたい」「原価を100円単位で切り捨てたい」。こんな場面はありませんか?

ROUNDDOWN関数は「桁数」で切り捨てる関数です。でも「100円刻み」「15分刻み」のような倍数指定には不向きです。

そんなときに使うのがFLOOR関数です。指定した倍数の方向へ常に切り捨ててくれます。

この記事では基本の書き方から倍数の指定パターン、実務での使いどころまで紹介します。

FLOOR関数とは?

FLOOR関数(読み方: フロア関数)は、数値を指定した倍数の方向へ常に切り捨てる関数です。

名前は英語の「floor(床)」が由来です。床の方向へ丸めるイメージですね。「1,680円」を500円単位で切り捨てると「1,500円」です。

MROUND関数との最大の違いは「丸めの方向」です。MROUNDは最も近い倍数に丸めます。一方、FLOOR関数は常に切り捨て方向です。

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

  • 数値を指定した倍数の方向へ常に切り捨てる
  • 15分単位・30分単位の勤怠時間切り捨てに使う
  • 100円単位・500円単位の原価・仕入金額切り捨てに使う
  • 50個単位・100個単位の出荷数切り捨てに使う

NOTE

FLOOR関数はGoogleスプレッドシートの全バージョンで使えます。Excelとの互換性も高いです。

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

基本構文

=FLOOR(値, 倍数)

カッコの中に「切り捨てたい数値」と「何の倍数に切り捨てるか」を指定します。

引数の説明

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

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

MROUND関数の第2引数も「倍数」です。ただしMROUNDは最も近い倍数に丸めます。FLOORは常に切り捨て方向。この違いが使い分けのカギです。

倍数の指定パターン

FLOOR関数は倍数の値によって切り捨ての刻みが変わります。代表的なパターンを表にまとめます。

倍数意味例: FLOOR(1234, 倍数)結果
10001,000単位に切り捨て=FLOOR(1234, 1000)1000
500500単位に切り捨て=FLOOR(1234, 500)1000
100100単位に切り捨て=FLOOR(1234, 100)1200
5050単位に切り捨て=FLOOR(1234, 50)1200
1010単位に切り捨て=FLOOR(1234, 10)1230
55単位に切り捨て=FLOOR(1234, 5)1230
0.50.5単位に切り捨て=FLOOR(1.3, 0.5)1.0
0.10.1単位に切り捨て=FLOOR(1.39, 0.1)1.3

倍数を変えるだけで切り捨ての刻みを自由に設定できます。ROUNDDOWN関数の桁数パターンよりも直感的です。

TIP

倍数に小数を指定することもできます。「0.25刻み」なら =FLOOR(A1, 0.25) です。

基本的な使い方

整数を100単位に切り捨てる

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

=FLOOR(A2, 100)

A2が「1,280円」なら結果は「1,200円」です。「1,299円」でも「1,200円」に切り捨てられます。端数がいくらあっても前の100の倍数に戻ります。

小数を0.5単位に切り捨てる

評価スコアを0.5刻みに切り捨てたい場面です。

=FLOOR(B2, 0.5)

B2が「3.7」なら「3.5」に切り捨てられます。「3.1」なら「3.0」です。「3.0」ちょうどなら端数がないのでそのままです。

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

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

=FLOOR(1500, 500)

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

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

15分単位の勤怠時間切り捨て

「退勤時刻を15分単位で切り捨てる」ルールの会社に便利です。C2に退勤時刻が入っているとします。

=FLOOR(C2, "0:15")

時刻データの場合は倍数を「”0:15″」のように時刻形式で指定します。「18:22」なら「18:15」に切り捨てられます。

NOTE

切り上げたい場合はCEILING関数を使います。最も近い15分に丸めたいならMROUND関数です。会社のルールに合わせて選んでください。

100円単位の原価切り捨て

原価管理で端数を切り捨てたいときに使います。A2に計算上の原価が入っているとします。

=FLOOR(A2, 100)

「45,678円」なら「45,600円」に切り捨てられます。端数を切り捨てることでコスト計算を安全側に見積もれます。

MROUND関数だと上に丸まるケースもあります。常に切り捨てたいならFLOOR関数のほうが安全です。

30分単位の作業時間切り捨て

報告書で作業時間を30分単位にそろえたいときに使います。

=FLOOR(D2, "0:30")

「2:45」なら「2:30」に切り捨てられます。作業時間を多めに報告せず正確に記録できます。

500円単位の仕入金額切り捨て

仕入れ値を500円単位に切り捨てたいケースです。

=FLOOR(A2, 500)

計算で「1,680円」になった場合、「1,500円」に切り捨てられます。CEILING関数なら「2,000円」です。余分にコストを見積もりたくないならFLOOR関数が向いています。

よくあるエラーと対処法

FLOOR関数はシンプルな関数ですが、エラーが出ることもあります。

エラー原因対処法
#NUM!正の値に負の倍数を指定した値と倍数の符号をそろえる
#VALUE!値や倍数に文字列が入っているセル参照先が数値かどうか確認する
#ERROR!構文ミス(カンマ忘れ等)数式の入力内容を見直す
結果が0倍数に0を指定している0以外の倍数を指定する
切り捨てが起きない値がすでに倍数ちょうどだった元の値を確認する

値と倍数の符号について

GoogleスプレッドシートのFLOOR関数では、正の値に負の倍数を指定すると#NUM!エラーになります。

=FLOOR(1280, -500)

結果は#NUM!エラーです。正の値を切り捨てるには正の倍数を使ってください。

負の値には負の倍数を指定します。

=FLOOR(-1280, -500)

結果は「-1500」です。負の数では0から離れる方向が「切り捨て」になります。

倍数に0を指定したとき

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

=FLOOR(1234, 0)

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

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

スプレッドシートには倍数で丸める関数が3つあります。丸めの方向が異なるので、目的に応じて使い分けましょう。

関数丸め方第2引数使いどころ
FLOOR常に切り捨て(倍数)倍数余分に取りたくない場面(勤怠切り捨て・原価)
MROUND最も近い倍数倍数価格設定・見積金額の中立的な丸め
CEILING常に切り上げ(倍数)倍数不足させたくない場面(発注数・見積)
ROUND四捨五入桁数小数第2位・10の位など桁数指定の丸め
ROUNDUP常に切り上げ桁数箱数計算など桁数指定の切り上げ
ROUNDDOWN常に切り捨て桁数消費税切り捨てなど桁数指定の切り捨て

FLOOR・MROUND・CEILINGの使い分け

この3関数は「倍数で丸める」という共通点があります。違いは丸めの方向だけです。

具体例で比較しましょう。「1,280円」を500円単位で丸める場合です。

=FLOOR(1280, 500)     → 1000(切り捨て)
=MROUND(1280, 500)    → 1500(最も近い倍数)
=CEILING(1280, 500)   → 1500(切り上げ)

次に「1,680円」で比較します。

=FLOOR(1680, 500)     → 1500(切り捨て)
=MROUND(1680, 500)    → 1500(最も近い倍数)
=CEILING(1680, 500)   → 2000(切り上げ)

1,680円ではFLOORもMROUNDも「1,500円」です。しかし1,280円では結果が分かれます。FLOORは「1,000円」、MROUNDは「1,500円」です。MROUNDは上がることもありますが、FLOORは常に下がります。

使い分けの基準は次のとおりです。

  • 余分を出したくない → FLOOR
  • 中立的に丸めたい → MROUND
  • 不足を防ぎたい → CEILING

FLOORとROUNDDOWNの使い分け

FLOOR関数とROUNDDOWN関数はどちらも「常に切り捨てる」関数です。違いは第2引数の指定方法です。

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

「15分単位に切り捨てたい」ならFLOOR関数が直感的です。「小数第1位で切り捨てたい」ならROUNDDOWN関数です。

500や15、50のような倍数はROUNDDOWN関数では対応できません。この場合はFLOOR関数の出番です。

FLOORとINTの違い

INT関数も「切り捨て」に見えますが、動作が異なります。INT関数は常に1の倍数(整数)への切り捨てです。

=FLOOR(3.7, 1)   → 3(1の倍数に切り捨て)
=INT(3.7)        → 3(整数に切り捨て)

正の数では同じ結果ですが、負の数で差が出ます。

=FLOOR(-2.3, 1)  → -3(0から離れる方向に切り捨て)
=INT(-2.3)       → -3(小さい整数方向に切り捨て)

FLOORは「倍数を自由に指定できる」点がINTとの最大の違いです。15分単位や500円単位の切り捨てはINT関数ではできません。

TIP

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

Excelとの違い

FLOOR関数はExcelとGoogleスプレッドシートで基本動作は同じですが、細かい仕様が異なります。

項目ExcelGoogleスプレッドシート
構文=FLOOR(数値, 基準値)=FLOOR(値, 倍数)
動作倍数の方向へ切り捨て倍数の方向へ切り捨て
倍数の省略省略不可省略可(デフォルト1)
負の値 + 負の倍数0に近づく方向0から離れる方向
後継関数FLOOR.MATH / FLOOR.PRECISEなし

最も大きな違いは「負の値の丸め方向」です。Excelでは負の値に負の倍数を指定すると0に近づく方向に丸めます。Sheetsでは0から離れる方向です。正の値だけなら結果は同じです。

TIP

Excelの後継関数についてはFLOOR.MATHとFLOOR.PRECISEの比較記事で解説しています。

まとめ

FLOOR関数は、数値を指定した倍数の方向へ常に切り捨てる関数です。

ポイントを整理します。

  • 構文は =FLOOR(値, 倍数) の2引数だけ
  • MROUND関数が「最も近い倍数」に丸めるのに対し、FLOORは「常に切り捨て」
  • 15分単位の勤怠切り捨て・100円単位の原価切り捨て・500円単位の仕入金額切り捨てに便利
  • 対称ペアのCEILING関数は常に切り上げ方向
  • ROUNDDOWN関数は桁数指定の切り捨て、FLOOR関数は倍数指定の切り捨て

まずは =FLOOR(A1, 100) で100円単位の切り捨てから試してみてください。

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