スプレッドシートで計算結果の小数部分を消したいとき、ありますよね。
「123.456を小数第1位までにしたい」「割り算の端数を消して整数にしたい」。四捨五入ではなく、ただ切り捨てたいだけなんだけど、どの関数を使えばいいの?
そんなときに使うのがTRUNC関数です。桁数を指定して、好きな位置から小数部分を切り捨てられます。
この記事では基本の書き方から桁数指定のコツ、INT関数との違いまで解説します。
TRUNC関数とは?
TRUNC関数(読み方: トランク関数)は、数値の小数部分を切り捨てる関数です。
名前は英語の「truncate(切り詰める)」の略です。たとえば「3.7」にTRUNC関数を使うと「3」になります。「3.14」でも「3.99」でも結果はすべて「3」です。
TRUNC関数のポイントは桁数を指定できることです。たとえば「3.456」を小数第1位で切り捨てると「3.4」になります。桁数を省略すれば整数に切り捨てます。
TRUNC関数にできることをまとめると、次のとおりです。
- 小数部分を切り捨てて整数にする
- 小数第1位・第2位など指定した桁で切り捨てる
- 10の位・100の位で切り捨てる(桁数にマイナスを指定)
- 負の数でもゼロ方向に切り捨てる
NOTE
TRUNC関数はGoogleスプレッドシートの全バージョンで使えます。Excelとの互換性も完全なので、ファイルのやり取りでも安心です。
TRUNC関数の書き方(構文と引数)
基本構文
=TRUNC(値, [桁数])
カッコの中に「切り捨てたい数値」を入れます。桁数は省略できます。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 値 | 必須 | 切り捨てたい数値やセル参照、数式 |
| 桁数 | 任意(省略時は0) | 切り捨てる位置。0なら整数、1なら小数第1位、-1なら10の位 |
桁数を省略すると「0」として扱われ、整数に切り捨てます。桁数を正の数にすると小数の途中で切り捨て、負の数にすると整数の上の位で切り捨てます。
TRUNC関数の基本的な使い方
整数に切り捨てる(桁数省略)
もっともシンプルな使い方です。桁数を省略すると整数に切り捨てます。
=TRUNC(3.7)
結果は「3」です。小数部分の「.7」は切り捨てられます。
=TRUNC(9.999)
結果は「9」です。小数がどれだけ大きくても切り上がりません。
セル参照を使う
A1に「5.84」が入っているとします。
=TRUNC(A1)
結果は「5」です。セル参照を使えば値が変わっても自動で切り捨てられます。
桁数を指定して切り捨てる
TRUNC関数のいちばんの特長は桁数指定です。
=TRUNC(3.456, 1)
結果は「3.4」です。小数第1位まで残し、それ以下を切り捨てます。
=TRUNC(3.456, 2)
結果は「3.45」です。小数第2位まで残します。
10の位で切り捨てる(桁数にマイナス)
桁数に負の数を指定すると、整数部分の上の位で切り捨てます。
=TRUNC(1234, -1)
結果は「1230」です。1の位を切り捨てます。
=TRUNC(1234, -2)
結果は「1200」です。10の位以下を切り捨てます。
概算値を出したいときに便利です。
すでに整数の場合
元の値に小数がなければ、そのまま返ります。
=TRUNC(5)
結果は「5」です。切り捨てる端数がないので値は変わりません。
実務でのTRUNC関数活用例
消費税の小数を切り捨てる
消費税を計算すると端数が出ることがあります。B2に税抜価格が入っているとします。
=TRUNC(B2*0.1)
たとえば税抜1,234円なら「1234 x 0.1 = 123.4」です。結果は「123」で、小数部分が切り捨てられます。
税込合計を一発で出すなら次のように書きます。
=B2+TRUNC(B2*0.1)
TIP
消費税の端数処理は法律で定められていません。取引先や社内ルールに従ってください。四捨五入ならROUND関数、切り上げならROUNDUP関数を使い分けましょう。
単価を小数第2位で切り捨てる
仕入れ単価の端数を処理するパターンです。C2に単価が入っているとします。
=TRUNC(C2, 2)
たとえば単価が「56.789円」なら結果は「56.78」です。小数第2位まで残して切り捨てます。通貨計算で「銭」の位まで残したいときに使えます。
数量の整数部分を取り出す
在庫管理で「いくつ出荷できるか」を計算するパターンです。A2に総数量、B2に1箱あたりの個数が入っているとします。
=TRUNC(A2/B2)
たとえば総数量100個、1箱12個なら「100 / 12 = 8.33…」です。TRUNC関数で「8箱」になります。
予算を1,000円単位で切り捨てる
経費精算や予算管理で、千円単位にまとめたいときのパターンです。
=TRUNC(A2, -3)
たとえば「45,678円」なら結果は「45,000円」です。百の位以下を切り捨てて千円単位にまとめられます。報告資料の概算値を出すときに便利ですよ。
INT関数との違い(負の数の挙動に注意)
TRUNC関数とINT関数は、正の数では同じ結果になります。しかし負の数では結果が異なります。これが最も重要な違いです。
正の数では同じ結果
=TRUNC(3.7) → 3
=INT(3.7) → 3
どちらも小数部分を切り捨てて「3」です。
負の数では結果が異なる
=TRUNC(-2.3) → -2
=INT(-2.3) → -3
TRUNC関数はゼロに近い方向に切り捨てます。「-2.3」のゼロに近い整数は「-2」です。
INT関数はゼロから遠い方向(小さい整数方向)に切り捨てます。「-2.3以下の最も近い整数」は「-3」です。
もう少し例を見てみましょう。
| 元の値 | TRUNC | INT | TRUNC の方向 | INT の方向 |
|---|---|---|---|---|
| 3.7 | 3 | 3 | ゼロ方向 | 小さい整数方向 |
| -2.3 | -2 | -3 | ゼロ方向 | 小さい整数方向 |
| -5.8 | -5 | -6 | ゼロ方向 | 小さい整数方向 |
| -0.5 | 0 | -1 | ゼロ方向 | 小さい整数方向 |
どちらを使うべき?
- 正の数だけ扱う場合: どちらでもOK(結果は同じ)
- 負の数を扱う場合: 目的に応じて選ぶ
- 「絶対値の小数部分を消したい」→ TRUNC関数
- 「数学的な床関数が必要」→ INT関数
実務では消費税や個数など正の数がほとんどです。ただし差額計算やマイナス在庫がある場合は違いを意識してください。
NOTE
TRUNC関数はROUNDDOWN関数と同じ方向(ゼロ方向)に切り捨てます。
=TRUNC(値)と=ROUNDDOWN(値, 0)は常に同じ結果です。
よくあるエラーと対処法
TRUNC関数はシンプルな関数ですが、エラーが出ることもあります。
| エラー | 原因 | 対処法 |
|---|---|---|
| #VALUE! | 値に文字列が入っている | セル参照先が数値かどうか確認する |
| #ERROR! | 構文ミス(カッコ忘れ等) | 数式の入力内容を見直す |
| 結果が想定と違う | 桁数の指定が逆 | 正の桁数=小数側、負の桁数=整数側 |
| 小数が残る | 桁数の指定が大きすぎる | 桁数を小さくする(0で整数化) |
文字列が混在しているとき
TRUNC関数に文字列を渡すと#VALUE!エラーです。
=TRUNC("abc")
セル参照先が数値かどうか不安なときは、ISNUMBER関数で事前にチェックできます。
=IF(ISNUMBER(A1), TRUNC(A1), "数値を入力してください")
桁数の指定を間違えやすいケース
桁数の正負を間違えるとまったく違う結果になります。
=TRUNC(1234.56, 2) → 1234.56(小数第2位まで残す)
=TRUNC(1234.56, -2) → 1200(100の位以下を切り捨て)
「小数第2位で切り捨てたい」なら桁数は「2」です。「100の位で切り捨てたい」なら桁数は「-2」です。符号を間違えないよう注意してください。
表示形式との違い
TRUNC関数は値そのものを変換します。表示形式で小数点以下を非表示にするのとは異なります。
たとえばA1に「3.7」があるとき、表示形式を「0」にすると見た目は「4」(四捨五入表示)です。でも実際の値は「3.7」のまま。TRUNC関数は値を「3」に変換するので、計算結果にも影響します。
似た関数との違い・使い分け
スプレッドシートには「切り捨て」系の関数が複数あります。どれを使うか迷ったときは、以下の早見表を参考にしてください。
| 関数 | 動作 | 引数 | 桁数指定 | 負の数での動作 |
|---|---|---|---|---|
| TRUNC | 小数部を切り捨て | 1〜2つ | 可能(省略時0) | ゼロ方向(-2.3→-2) |
| INT | 整数に切り捨て | 1つ | 不可(常に整数) | 小さい整数方向(-2.3→-3) |
| ROUNDDOWN | 指定桁数で切り捨て | 2つ | 可能 | ゼロ方向(-2.3→-2) |
| FLOOR | 倍数で切り捨て | 2つ | 倍数指定 | ゼロから離れる方向 |
| ROUND | 四捨五入 | 2つ | 可能 | 四捨五入 |
TRUNCとROUNDDOWNの使い分け
TRUNCとROUNDDOWNは結果が同じです。違いは使い勝手だけです。
=TRUNC(3.456, 2) → 3.45
=ROUNDDOWN(3.456, 2) → 3.45
- TRUNC: 桁数を省略できる(省略時は整数に切り捨て)
- ROUNDDOWN: 桁数の省略は不可(必ず指定が必要)
整数に切り捨てるだけなら =TRUNC(A1) のほうが =ROUNDDOWN(A1, 0) より短く書けます。桁数を指定する場合はどちらを使っても同じ結果です。
TRUNCとFLOORの使い分け
FLOOR関数は「倍数指定で切り捨て」る関数です。
- TRUNC: 桁数(小数の位置)で切り捨て
- FLOOR: 任意の倍数(100、500、0.25など)で切り捨て
「15分単位で切り捨てたい」「500円単位で切り捨てたい」ならFLOOR関数です。「小数第2位で切り捨てたい」ならTRUNC関数を使いましょう。
=TRUNC(3.7) → 3(小数部分を切り捨て)
=FLOOR(1680, 500) → 1500(500の倍数に切り捨て)
TIP
丸め関数の個別記事もチェックしてみてください。ROUND・ROUNDUP・ROUNDDOWN・MROUND・CEILING・FLOOR・INTで詳しく解説しています。
Excelとの違い
TRUNC関数はExcelとGoogleスプレッドシートで完全に同じ動作です。
| 項目 | Excel | Googleスプレッドシート |
|---|---|---|
| 構文 | =TRUNC(数値, [桁数]) | =TRUNC(値, [桁数]) |
| 動作 | ゼロ方向に切り捨て | ゼロ方向に切り捨て |
| 負の数 | -2.3→-2 | -2.3→-2 |
| 桁数省略時 | 整数に切り捨て | 整数に切り捨て |
引数名の表記が若干異なるだけで、機能は完全に同じです。ExcelとSheetsでファイルを共有しても計算結果がずれることはありません。
TIP
Excelの丸め関数の使い分けについて詳しくはExcelの丸め関数10種を完全比較の記事で解説しています。
まとめ
TRUNC関数は、小数部分を切り捨てる関数です。桁数を指定すれば好きな位置で切り捨てられます。
ポイントを整理します。
- 構文は
=TRUNC(値, [桁数])で桁数は省略可能(省略時は整数化) - 桁数1なら小数第1位まで残す。桁数-1なら10の位で切り捨てる
- 消費税の端数処理・単価計算・予算の概算値に便利
- 負の数ではゼロ方向に切り捨てる(INT関数は小さい整数方向)
- ROUNDDOWN関数と同じ結果だが、桁数を省略できる分だけシンプル
- 倍数で切り捨てたいならFLOOR関数を使う
まずは =TRUNC(A1, 2) で小数第2位までの切り捨てを試してみてください。
