Excelで切り上げ・切り捨て・四捨五入を使い分ける方法!ROUND・ROUNDUP・ROUNDDOWNとCEILING/MROUNDの違いも!

Excelで切り上げ・切り捨て・四捨五入を使い分ける方法!ROUND・ROUNDUP・ROUNDDOWNとCEILING/MROUNDの違いも!
Excelで切り上げ・切り捨て・四捨五入を使い分けたいときはないでしょうか。

けど、そんな中で悩むことは、

・ROUNDとROUNDDOWNの違いがわからない
・消費税の端数処理をどうすればいいか迷う
・10円単位・100円単位で丸める方法がわからない

ですよね。

今回はそんなお悩みを解決する

・切り上げ・切り捨て・四捨五入を使い分ける方法(ROUND/ROUNDUP/ROUNDDOWN)

についてまとめます!

完成イメージ

金額の計算では、消費税や割引の計算で端数(小数点以下)が出ることがあります。
今回は、
・切り捨て(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)
POINT

切り捨ては =ROUNDDOWN(数値, 0) です。
2番目の引数「0」は小数点以下0桁=整数にするという意味です。
小数第1位を切り捨てたいときは「1」を指定します。

下までオートフィルすれば、F列に切り捨て後の金額が入りました。
切り捨ての列を追加した表
.

数式はどのセルに入れる?

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

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円になりました。
10円単位で丸める例

STEP6. INTとTRUNCの違い(マイナスの数に注意)

似た関数に INT関数 と TRUNC関数 があります。
どちらも整数にしますが、マイナスの数で結果が変わります。
表の下のブロックで比べてみましょう。

INTは「小さいほうの整数」に、TRUNCは「0に近いほうの整数」になります。
そのため、-2.5 は INT だと -3、TRUNC だと -2 になります。
プラスの数では同じ結果なので、返品やマイナスの金額を扱うときは注意しましょう。
INTとTRUNCの違い

端数処理の使い分け(比較表)

場面ごとにどの関数を使えばよいか、一覧にまとめました。
金額は 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

タカヒロ

タカヒロ
RoundDown の部分を RoundUp や Round に変えれば、切り上げ・四捨五入にもそのまま使えます。
最後の「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で切り上げ・切り捨て・四捨五入を使い分ける方法(ROUND/ROUNDUP/ROUNDDOWN)

についてまとめました。

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

ぜひ試してみてください。



この記事の関連キーワード

こちらの記事の関連キーワード一覧です。クリックするとキーワードに関連する記事一覧が閲覧できます。






コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

CAPTCHA ImageChange Image