【エクセル時短】は「少しでも早く仕事を終わらせたい!」というビジネスパーソンのみなさんに、Excelの作業効率をアップするワザをお届けする連載です。毎週木曜日更新。
注目・最新の記事一覧

Excelにおける端数の処理を総まとめ

Excelの表を作成するとき、数値を「四捨五入」「切り捨て」「切り上げ」する機会があると思います。それぞれに対応する関数があり、簡単に結果を求められるのですが、使い方を覚えていますか?

エクセル時短】第120回では、数値の端数を処理する(丸める)ときに使う定番の関数をおさらいしましょう。セルの表示形式を使って四捨五入した場合との違いや、その他の関連する関数まで総まとめします。

INDEX

  1. 四捨五入の定番「ROUND関数」をマスター
  2. 切り捨てには「ROUNDDOWN関数」を使う
  3. 切り上げには「ROUNDUP関数」で対応
  4. セルの表示形式では見た目上だけ四捨五入される
  5. 端数の処理に使えるその他の関数

四捨五入の定番「ROUND関数」をマスター

まずは「四捨五入」です。Excelで数値を四捨五入するには、ROUND(ラウンド)関数を使うのがもっともポピュラーな方法です。構文と引数を見てみましょう。

=ROUND数値, 桁数

  • 数値] ... 四捨五入したい元の数値を指定します。
  • 桁数] ... 四捨五入して、どの桁まで求めるのかを整数で指定します。

2つめの引数[桁数]は、1つめの引数[数値]の一の位を「0」として、それより大きい桁は負の数、小さい桁は正の数で指定します。ちょっと分かりにくいので、[数値]を「1476.532」とした場合の例を以下の表に示します。

数値1476.532
桁数-3-2-10123

仮に[桁数]に「-1」を指定すると、十の位までが求められるように、それより下の桁が四捨五入されます。上記の例なら「1480」が求められるわけです。

すべての[桁数]ごとの結果をまとめると、以下のようになります。

【エクセル時短】数値の四捨五入、切り捨て、切り上げのおさらい

ROUND関数でセルB1の値「1476.532」を四捨五入した結果を表示しています。

ひとまず、桁数]で「0」を指定したら小数点以下が四捨五入される、と覚えておくといいでしょう。

切り捨てには「ROUNDDOWN関数」を使う

続いて「切り捨て」には、ROUNDDOWN(ラウンドダウン)関数を使います。構文は以下のとおりで、引数の指定方法はROUND関数と同じです。

=ROUNDDOWN数値, 桁数

ROUND関数との違いは、引数[桁数]で指定した桁よりも下の桁を単純に切り捨てるということです。同様に[桁数]ごとの結果をまとめると、以下のようになります。

【エクセル時短】数値の四捨五入、切り捨て、切り上げのおさらい

ROUNDDOWN関数では、四捨五入ではなく切り捨てとなっていることが分かります。

切り上げには「ROUNDUP関数」で対応

最後に「切り上げ」ですが、ROUNDUP(ラウンドアップ)関数を使いましょう。構文は以下のとおりで、引数の指定方法はROUND関数・ROUNDDOWN関数と同じです。

=ROUNDUP数値, 桁数

すべての[桁数]ごとの結果は以下のようになります。指定した桁よりも下の桁が切り上げられた結果が求められていますね。

【エクセル時短】数値の四捨五入、切り捨て、切り上げのおさらい

ROUNDUP関数により、セルB1の値「1476.532」が指定した桁で切り上げられています。

セルの表示形式では見た目上だけ四捨五入される

ここまでは関数を使って端数を処理する方法を解説しました。ただ、四捨五入に関しては、関数を使わないもう1つの方法があります。セルの表示形式を使う方法です。

[ホーム]タブの[数値]グループにある[小数点以下の桁数を減らす]ボタンを使うと、小数点以下の桁数を調整し、非表示にした桁を四捨五入できます。

【エクセル時短】数値の四捨五入、切り捨て、切り上げのおさらい

手軽に四捨五入できて便利なのですが、この方法では見た目上の数値が変わるだけで、セルに入力されている実際の数値は変わらないことに注意してください。具体的な例を見てみましょう。

【エクセル時短】数値の四捨五入、切り捨て、切り上げのおさらい

「表示形式」列と「ROUND関数」列で、同じ数値が入力されているように見えます。しかし、5行目で求めている合計が異なっていますね。「234+865+457」は「1556」が正しいのですが、なぜこのような現象が起こるのでしょうか?

数式バーで「表示形式」列のセルを見てみると......

【エクセル時短】数値の四捨五入、切り捨て、切り上げのおさらい

実際には、セルA2に「234.12」と入力されていることがわかります。

一方の「ROUND関数」列はというと......

【エクセル時短】数値の四捨五入、切り捨て、切り上げのおさらい

セルB2には「=ROUND(A2,0)」と入力されており、「234.12」の小数点以下第一位を四捨五入した数値が求められています。

ここで[小数点以下の桁数を増やす]ボタンをクリックして......

【エクセル時短】数値の四捨五入、切り捨て、切り上げのおさらい

非表示になっていた小数点以下の桁を見てみます。

【エクセル時短】数値の四捨五入、切り捨て、切り上げのおさらい

一目瞭然ですね。「表示形式」列の数値には、実際には小数点以下の桁があります。5行目で求められている合計は正しいのですが、セルの表示形式で見た目上だけ四捨五入すると、計算が合わなくなるわけです。

一方、「ROUND関数」列では、関数による計算結果がセルにそのまま入力されているため、見た目と実際の計算が一致します。

このように、表示形式で見た目上だけ四捨五入しているセルと、ROUND関数で四捨五入しているセルを計算に用いると、結果が合わなくなることが起こりえます。税率の計算など、端数の処理を厳密に行う必要があるときには注意してください。

HINT端数の処理に使えるその他の関数

四捨五入、切り上げ、切り捨てに使える関数は、上記で紹介した関数以外にも用意されています。会計処理や学術計算などの分野では、目的に応じた関数を利用するといいでしょう。

四捨五入
FIXED数値を(四捨五入して)桁区切り記号と小数点を付ける
DOLLAR数値を(四捨五入して)通貨記号と桁区切り記号を付ける
YEN数値を(四捨五入して)通貨記号と桁区切り記号を付ける
切り捨て
FLOOR数値を基準値の倍数に切り捨てる
FLOOR.MATH数値を基準値の倍数に切り下げる
FLOOR.PRECISE数値を基準値の倍数に切り捨てる
INT小数点以下を切り捨てる
MROUND指定した数値の倍数になるように丸める
TRUNC数値を切り捨てて指定の桁数まで求める
切り上げ
CEILING数値を基準値の倍数に切り上げる
CEILING.MATH数値を基準値の倍数に切り上げる
ISO.CEILING/CEILING.PRECISE数値を基準値の倍数に切り上げる
EVEN/ODD最も近い偶数または奇数になるように切り上げる
MROUND指定した数値の倍数になるように丸める