Excelで切り上げ・切り捨て・四捨五入を使い分けたいときはないでしょうか。
けど、そんな中で悩むことは、
・消費税の端数処理をどうすればいいか迷う
・10円単位・100円単位で丸める方法がわからない
ですよね。
今回はそんなお悩みを解決する
についてまとめます!
完成イメージ
金額の計算では、消費税や割引の計算で端数(小数点以下)が出ることがあります。
今回は、
・切り捨て(ROUNDDOWN)/切り上げ(ROUNDUP)/四捨五入(ROUND)を場面ごとに使い分ける方法
をゴールにします。
さらに、10円単位で丸めるCEILING・FLOOR・MROUNDと、INTとTRUNCの違いもあわせて解説します。
なお、毎回数式を入れるのが手間な方向けにVBAで端数処理を一括する方法と、うまくいかないときの対処法(トラブルシュート)もご紹介します。
早速実装して試してみましょう!

上の画像が完成形です。E列の「税込金額」に出た端数を、切り捨て・切り上げ・四捨五入の列で処理しています。
もくじ
STEP1. 元データを用意する
まずは金額を計算したい売上表を用意します。
1行目が見出し、2行目以降がデータです。
金額(D列)は =B2*C2、税込金額(E列)は =D2*1.1 の数式にしておきます。
税込金額に端数(小数点以下)が出ているのがポイントです。
この端数をどう処理するかで、切り捨て・切り上げ・四捨五入を使い分けます。

下の表をコピーして、Excelのシートに貼り付けるとそのまま試せます。
| 商品 | 数量 | 単価 | 金額 | 税込金額 | 切り捨て | 切り上げ | 四捨五入 |
|---|---|---|---|---|---|---|---|
| コピー用紙 | 11 | 498 | |||||
| ボールペン | 24 | 128 | |||||
| ファイル | 7 | 258 | |||||
| コピー用紙 | 9 | 498 | |||||
| ふせん | 18 | 148 | |||||
| ボールペン | 36 | 128 | |||||
| ファイル | 6 | 258 | |||||
| ノート | 13 | 198 | |||||
| ふせん | 17 | 148 | |||||
| ノート | 8 | 198 |
※ 数式で求める列は空にしています。すでに値が入っている列はそのまま残して試せます。
STEP2. 切り捨てにする(ROUNDDOWN関数)
まずは切り捨てです。
端数を切り捨てたいセル(ここではF2)に、次の数式を入力します。
=ROUNDDOWN(E2, 0)
切り捨ては =ROUNDDOWN(数値, 0) です。
2番目の引数「0」は小数点以下0桁=整数にするという意味です。
小数第1位を切り捨てたいときは「1」を指定します。
下までオートフィルすれば、F列に切り捨て後の金額が入りました。

.
数式はどのセルに入れる?
セルを選んで数式バーに入力するだけです。
実際の入力画面がこちらです。
入力中は引数のヒントが出るので、桁数の指定を確認しながら進められます。

STEP3. 切り上げにする(ROUNDUP関数)
次は切り上げです。
G2セルに次の数式を入力します。
=ROUNDUP(E2, 0)
切り上げは、端数があれば必ず1つ上の整数にします。
送料や手数料など、足りないと困る金額は切り上げが安心です。
G列に切り上げ後の金額が入りました。

STEP4. 四捨五入にする(ROUND関数)
最後は四捨五入です。
H2セルに次の数式を入力します。
=ROUND(E2, 0)
四捨五入は、小数第1位が5以上なら切り上げ、4以下なら切り捨てます。
もっとも一般的な端数処理で、見積書や請求書でよく使われます。
3つの列がそろいました。

STEP5. 10円単位・100円単位で丸める(CEILING/FLOOR/MROUND)
「10円単位で丸めたい」という場面では、基準値を指定できる関数を使います。
表の下のブロックに例を用意しました。
FLOOR は基準値の倍数に切り捨て、CEILING は切り上げ、MROUND は四捨五入します。
基準値に「10」を指定すると10円単位、「100」なら100円単位になります。
=FLOOR(B14, 10) … 10円単位で切り捨て =CEILING(B14, 10) … 10円単位で切り上げ =MROUND(B14, 10) … 10円単位で四捨五入
6,025.8円は、切り捨てで6,020円、切り上げで6,030円、四捨五入で6,030円になりました。

STEP6. INTとTRUNCの違い(マイナスの数に注意)
似た関数に INT関数 と TRUNC関数 があります。
どちらも整数にしますが、マイナスの数で結果が変わります。
表の下のブロックで比べてみましょう。
INTは「小さいほうの整数」に、TRUNCは「0に近いほうの整数」になります。
そのため、-2.5 は INT だと -3、TRUNC だと -2 になります。
プラスの数では同じ結果なので、返品やマイナスの金額を扱うときは注意しましょう。

端数処理の使い分け(比較表)
場面ごとにどの関数を使えばよいか、一覧にまとめました。
金額は 3,379.2 を例にしています。
| 関数 | 処理の内容 | 例(3,379.2) | 向いている場面 |
|---|---|---|---|
| =ROUNDDOWN(E2,0) | 切り捨て | 3,379 | 端数をお客様に有利に処理したいとき |
| =ROUNDUP(E2,0) | 切り上げ | 3,380 | 不足すると困る手数料・送料 |
| =ROUND(E2,0) | 四捨五入 | 3,379 | もっとも一般的な端数処理 |
| =FLOOR(E2,10) | 10円単位で切り捨て | 3,370 | 10円・100円単位にそろえたいとき |
| =CEILING(E2,10) | 10円単位で切り上げ | 3,380 | 基準値の倍数に切り上げたいとき |
| =MROUND(E2,10) | 10円単位で四捨五入 | 3,380 | 基準値の倍数に四捨五入したいとき |
| =INT(E2) | 切り捨て(負は小さい方) | 3,379 | プラスの金額だけを扱うとき |
| =TRUNC(E2) | 切り捨て(0に近い方) | 3,379 | 符号を保ったまま切り捨てたいとき |
迷ったら、まずはROUND(四捨五入)を選べば間違いありません。
単位をそろえたいなら FLOOR/CEILING/MROUND を使う、と覚えるとカンタンですね。
VBAで列全体の端数処理を一括する
毎回数式を入れるのが面倒なときは、VBAでまとめて処理するのもおすすめです。
ボタン1つで列全体の端数処理がラクにできます。
Sub RoundTax()
Dim i As Long
Dim lastRow As Long
lastRow = Cells(Rows.Count, 5).End(xlUp).Row
For i = 2 To lastRow
' 税込金額(E列)を切り捨てて整数にする
Cells(i, 6).Value = _
Application.WorksheetFunction.RoundDown(Cells(i, 5).Value, 0)
Next i
End Sub
最後の「0」は桁数です。小数第1位まで残したいときは「1」にしてくださいね。
うまくいかないときの対処法(トラブルシュート)
実際に試すと、思ったように動かないこともあるかもしれません。
よくあるつまずきと対処法をまとめました。
| 症状 | 原因 | 対処 |
|---|---|---|
| 結果が #VALUE! になる | 数値が文字列として入力されている | 対象セルを数値に変換する/=VALUE() で数値化する |
| 小数が残ってしまう | 桁数に 0 を指定していない | 第2引数を 0 にする(=ROUND(E2,0)) |
| 表示は整数なのに合計が合わない | 表示形式で丸めているだけで中身は小数 | 表示形式ではなく関数で丸める |
| 切り捨てたのに値が増える | マイナスの数でINTを使っている | マイナスは TRUNC か ROUNDDOWN を使う |
| CEILING/FLOORでエラーになる | 数値と基準値の符号が違う | 基準値を正の数にそろえる |
表示形式と関数の違いはとくに間違えやすいポイントです。
表示形式は「見た目」を丸めるだけなので、合計すると誤差が出ます。
金額を確定させたいときは、必ず関数で丸めましょう。
関数の説明
今回使う関数の概要です。
違いを表で押さえておきましょう。
ROUND関数(ラウンド)
| 書式 | =ROUND(数値, 桁数) |
|---|---|
| できること | 数値を指定した桁数で四捨五入します。 |
| 戻り値 | 四捨五入した数値 |
| こんなときに | もっとも一般的な端数処理をしたいとき。 |
| 注意 | 桁数は 0 で整数、1 で小数第1位まで、-1 で十の位を丸めます。 |
ROUNDUP関数(ラウンドアップ)
| 書式 | =ROUNDUP(数値, 桁数) |
|---|---|
| できること | 数値を指定した桁数で切り上げます。 |
| 戻り値 | 切り上げた数値 |
| こんなときに | 手数料や送料など、不足すると困る金額を求めるとき。 |
| 注意 | 端数があれば必ず1つ上の値になります。 |
ROUNDDOWN関数(ラウンドダウン)
| 書式 | =ROUNDDOWN(数値, 桁数) |
|---|---|
| できること | 数値を指定した桁数で切り捨てます。 |
| 戻り値 | 切り捨てた数値 |
| こんなときに | 消費税を切り捨てるなど、お客様に有利な端数処理をしたいとき。 |
| 注意 | マイナスの数では0に近づく方向に切り捨てます(TRUNCと同じ)。 |
CEILING・FLOOR・MROUND関数
| 書式 | =CEILING(数値, 基準値)/=FLOOR(数値, 基準値)/=MROUND(数値, 基準値) |
|---|---|
| できること | 指定した基準値の倍数に丸めます。CEILINGは切り上げ、FLOORは切り捨て、MROUNDは四捨五入です。 |
| 戻り値 | 丸めた数値 |
| こんなときに | 10円単位・100円単位など、決まった単位に金額をそろえたいとき。 |
| 注意 | 数値と基準値の符号が違うとエラーになります。 |
INT関数・TRUNC関数
| 書式 | =INT(数値)/=TRUNC(数値, [桁数]) |
|---|---|
| できること | 数値を整数にします。INTは小さいほうの整数、TRUNCは0に近いほうの整数にします。 |
| 戻り値 | 整数 |
| こんなときに | 小数点以下を単純に落としたいとき。 |
| 注意 | プラスでは同じ結果ですが、マイナスで結果が変わります(-2.5 → INTは-3、TRUNCは-2)。 |
完成
切り捨て・切り上げ・四捨五入の列ができました。
同じ税込金額でも、処理を変えると結果が変わるのがわかります。
用途に合わせて使い分けてみてください。

さいごに
いかがでしょうか。
今回は、
についてまとめました。
まずは今回のサンプル表で、ぜひ一度試してみてください。
端数処理を関数で自動化すると、請求書や見積書の作成がぐっとラクになりますよ。
また、他にも便利なExcelの時短テクニックがありますので、よろしければご参照頂ければと思います。
ぜひ試してみてください。







コメントを残す