3/21/2026

Access。四捨五入で整数にするならExcelではROUND関数では、Accessでは【Rounding off】

Access。四捨五入で整数にするならExcelではROUND関数では、Accessでは

<ROUND関数>

四捨五入で整数にするにはExcelだとROUND関数をつかいます。

Access。四捨五入で整数にするならExcelではROUND関数では、Accessでは

B列の数値は小数点がありますが、この小数点を四捨五入した結果がC列にあります。

C2の数式は、

=ROUND(B2,0)

オートフィルで数式をコピーしました。

C4は124.4で四捨五入すると124

C5は124.5で四捨五入すると125

きちんと四捨五入されていますね。


では、Accessではどのようにしたらいいのでしょうか。

Accessのテーブルを用意しました。


Excelのデータと同じです。

そして、Accessにも、四捨五入のRound関数が用意されています。

では、クエリで、四捨五入をつくってみましょう。


演算フィールドをつくります。

Round関数: Round([数値],0)

AccessもExcelと同じ引数ですね。整数にしたいので、桁はExcel同様に0とします。

では、クエリを実行してみましょう。


四捨五入されて、整数化されていますが、何かおかしい。

よくみると、124.5の結果が、Excelだと125なのに、Accessでは124になっています。


124.5なんだから、125が正解のはずですよね。

Accessは間違っているということ。ではないんですね。実は、ExcelとAccessの四捨五入は四捨五入であっても、異なっています。

Excelの四捨五入は、算術の四捨五入なんですが、Accessの四捨五入は、JIS式の丸め処理を行います。


一般的な四捨五入(Excel の ROUND関数)

- 1〜4 → 切り捨て

- 5〜9 → 切り上げ

「5」は必ず切り上げるため、丸めを繰り返すと数値が大きい方向に偏りやすい

■ JIS 式の丸め(Access の Round関数)

- 桁以下が ちょうど 5 のとき

→ 結果が偶数になるように丸める(偶数丸め)

- 「5」を切り上げる場合と切り捨てる場合が 半々になる

- そのため、一般的な四捨五入のような 偏りが発生しにくい

「銀行型丸め(Banker’s Rounding)」とも呼ばれています。


このようなことから、同じ結果にならないことがありますので、注意が必要です。


では、どのようにしたらいいのでしょうか。


新たに、演算フィールドをつくりました。

四捨五入: Int([数値]+0.5)

では、実行してみましょう。


これでExcelと同じになりました。

偶数奇数関係なく、数値に0.5を足した値を、整数化するInt関数をつかうことで、対応すれば、ExcelのROUND関数と同じ結果になります。


合致する・しないで悩まないように、Access関数のRound関数を使用する・しないは検討する必要がありそうですね。