2025/7/12

基準値で数値を丸める関数の違い(MROUND, CEILING, FLOORなど)【エクセル】

Thumbnail for 基準値で数値を丸める関数の違い(MROUND, CEILING, FLOORなど)【エクセル】

はじめに

エクセルには、四捨五入 / 切り上げ /切り捨てすることで、数値を丸める関数 が多く存在します。 これらは大まかに、 桁を丸める関数基準値で丸める関数 の2種類に分類できます。

ここでの「基準値」とは、「数値を丸める単位」「その整数倍にする値」のことです (例:基準値 55 で丸めると、0,5,10,...0, 5, 10, ... 等になる)

「桁を丸める関数」も「基準値で丸める関数」の1つ

桁を丸める関数 も、厳密に言うと 基準値で丸める関数 の1つです。
桁を丸める関数 では、基準値 10n10^{-n} (nn:指定の小数部の桁数) で丸めます。

例)

  • 10の桁で丸めるとき:123.45123.45 120120 (基準値:10=10110 = 10^{1}, n=1n = -1
  • 1の桁で丸めるとき(整数化):123.45123.45 123123 (基準値:1=1001 = 10^{0}, n=0n = 0
  • 小数点第一位で丸めるとき:123.45123.45 123.5123.5 (基準値:1=1011 = 10^{-1}, n=1n = 1

ここでは、

  • 桁を丸める関数 :基準値が 10n10^{-n} の関数
  • 基準値で丸める関数 :基準値を自由に決められる関数

を基に分類しています。

ここでは、 基準値で丸める関数 について取り上げ、該当する関数の違いについてまとめます。

内容は以下の通りです。

  • 関数の使用例
  • 比較表
  • 使い分けの目安

関数の使用例

基準値で丸める関数を使って、 基準値 55 で数値を丸める例 を示します。
(使用関数:MROUND, CEILING.MATH, FLOOR.MATH ※)

CEILINGCEILING.PRECISECEILING.MATH (モード:0) と、 FLOORFLOOR.PRECISEFLOOR.MATH(モード:0) と同じ挙動のため省略

ABCDEFGHIJKLMNOPQRSTUV
1数値:5.554.52.520.50-0.5-2-2.5-4.5-5-5.5
2商の余り/基準値:0.100.90.50.40.10-0.1-0.4-0.5-0.90-0.1丸め方の判定に使用される
3
4関数指定値(正の値のとき)(負の値のとき)
5MROUND基準値:55555000#NUM!#NUM!#NUM!#NUM!#NUM!#NUM!↕️四捨五入❌エラー
6CEILING.MATH基準値:5
7 (モード:0)105555500000-5-5↗️切り上げ↘️切り捨て
8 (モード:1)10555550-5-5-5-5-5-10↗️切り上げ↗️切り上げ
9FLOOR.MATH基準値:5
10 (モード:0)5500000-5-5-5-5-5-10↘️切り捨て↗️切り上げ
11 (モード:1)55000000000-5-5↘️切り捨て↘️切り捨て

比較表

基準値で丸める関数の比較表を以下に示します。

関数名機能指定値丸め方(正の値)丸め方(負の値)備考対応バージョン
MROUND丸め処理基準値↕️ 四捨五入↕️ 四捨五入数値と基準値の符号が異なるとエラー2007 〜
CEILING丸め処理基準値↗️ 切り上げ↘️ 切り捨てモードの指定不可全バージョン
CEILING.PRECISE2013 〜
CEILING.MATH
(モード:0)
基準値、
モード
-
CEILING.MATH
(モード:1)
↗️ 切り上げ
FLOOR丸め処理基準値↘️ 切り捨て↗️ 切り上げモードの指定不可全バージョン
FLOOR.PRECISE2013 〜
FLOOR.MATH
(モード:0)
基準値、
モード
-
FLOOR.MATH
(モード:1)
↘️ 切り捨て

使い分けの目安

基準値で数値を丸める関数の使い分けの目安は、 以下の通りです。

  • ↕️四捨五入(数値の符号が固定されているとき) MROUND
  • ↗️切り上げ CEILING.MATH(モード:1)
  • ↘️切り捨て FLOOR.MATH(モード:1)

他の関数は、 引数を減らして簡潔に記述したい場合などに使用すると良いでしょう。