2025/7/8

数値を丸める関数の違い(INT, ROUNDDOWN, TRUNC, FIXED, ROUND, ROUNDUPなど)【エクセル】

Thumbnail for 数値を丸める関数の違い(INT, ROUNDDOWN, TRUNC, FIXED, ROUND, ROUNDUPなど)【エクセル】

はじめに

エクセルには、四捨五入 / 切り上げ /切り捨てすることで、数値を丸める関数 が多く存在します。 この数値を丸める関数の違いについてまとめました。

ここでは、以下について取り扱います:

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

関数の使用例

数値を丸める関数は、大まかに以下の2種類に分けられます:

  • 桁を丸める関数:ROUND, ROUNDUP, ROUNDDOWN, TRUNC, INT, QUOTIENT, FIXED, TEXT
  • 基準値で丸める関数:MROUND, CEILING, CEILING.PRECISE, CEILING.MATH, FLOOR, FLOOR.PRECISE, FLOOR.MATH

ここでの「基準値」とは、「数値を丸める単位」「その整数倍にする値」のことです (例:基準値 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} の関数
  • 基準値で丸める関数 :基準値を自由に決められる関数

を基に分類しています。

以下に、それぞれの使用例を示します。

桁を丸める関数

桁を丸める以下の関数を使って、 整数化 / 小数部の桁数 00 で数値を丸める例 を示します。
(使用関数:ROUND, ROUNDUP, ROUNDDOWN, TRUNC, INT, QUOTIENT, FIXED, TEXT

ABCDEFGHIJKLMNOPQRSTUV
1数値:1.110.90.50.40.10-0.1-0.4-0.5-0.9-1-1.1
2商の余り/基準値:0.100.90.50.40.10-0.1-0.4-0.5-0.90-0.1丸め方の判定に使用される
3
4関数指定値(正の値のとき)(負の値のとき)
5ROUND桁数:0111100000-1-1-1-1↕️四捨五入↕️四捨五入
6ROUNDUP桁数:02111110-1-1-1-1-1-2↗️切り上げ↗️切り上げ
7ROUNDDOWN桁数:011000000000-1-1↘️切り捨て↘️切り捨て
8TRUNC桁数:011000000000-1-1↘️切り捨て↘️切り捨て
9INT1100000-1-1-1-1-1-2↘️切り捨て↗️切り上げ
10QUOTIENT除数:111000000000-1-1↘️切り捨て↘️切り捨て
11
12FIXED桁数:0111100000-1-1-1-1↕️四捨五入↕️四捨五入
13TEXT表示形式:$0$1$1$1$1$0$0$0$0$0-$1-$1-$1-$1↕️四捨五入↕️四捨五入

基準値で丸める関数

基準値で丸める関数を使って、 基準値 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↘️切り捨て↘️切り捨て

比較表

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

桁を丸める関数

関数名機能指定値丸め方(正の値)丸め方(負の値)備考対応バージョン
ROUND丸め処理小数部の桁数↕️ 四捨五入↕️ 四捨五入-全バージョン
ROUNDUP↗️ 切り上げ↗️ 切り上げ
ROUNDDOWN↘️ 切り捨て↘️ 切り捨て
TRUNC丸め処理小数部の桁数(任意)↘️ 切り捨て↘️ 切り捨てROUNDDOWNと同じ挙動
(ただし桁数指定は必須でない)
全バージョン
INT-↗️ 切り上げ整数化(桁数の指定は不可)
QUOTIENT除算 + 丸め処理除数(割り算の分母)↘️ 切り捨て↘️ 切り捨て商の整数部分のみ取得全バージョン
FIXED文字列化 + 丸め処理小数部の桁数(任意)、
カンマ有無(任意)
↕️ 四捨五入↕️ 四捨五入文字列に変換
TEXT表示形式

基準値で丸める関数

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

使い分けの目安

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

  • 桁を丸めるとき
    • 桁を指定して、↕️四捨五入 / ↗️切り上げ / ↘️切り捨て ROUND / ROUNDUP / ROUNDDOWN
    • 整数化(負の値を切り上げて問題にならないとき) INT
    • 文字列化 TEXT
  • 基準値で丸めるとき
    • ↕️四捨五入(数値の符号が固定されているとき) MROUND
    • ↗️切り上げ CEILING.MATH(モード:1)
    • ↘️切り捨て FLOOR.MATH(モード:1)

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