【Access】Round関数で四捨五入されない?

アクセス担当のまみです。

 

四捨五入ってRound関数使うんでしょって思っている人多いんじゃないかな。エクセルだと四捨五入ってRound関数だし。

アクセスのRound関数って四捨五入とはちょっと違うんです。

 

今回は、Round関数についてお伝えしますね。

 

Round関数

 

構文
Round(数値[,桁数])
[ ]内は省略可能です。

 

指定した数値を小数点以下の指定した桁数で丸めます。

 

4以下は切り捨て、6以上は切り上げ、5は元の数値が偶数になるように処理されます。

 

(あいちゃん)
偶数丸めとかJIS丸めって呼ばれるんだ。銀行型の丸めっても呼ばれるよ。

 

(はてな君)
ふ~ん色んな呼び方があるんだね。
えっと~。1.5と2.5は2ってこと?3.5と4.5は4?いつも偶数になるから偶数丸め?

 

(あいちゃん)
そうそう!

 

処理内容 元の数値 Round関数 四捨五入
0.5 0 1
1.5 2 2
2.5 2 3
3.5 4 4
4.5 4 5
5.5 6 6
6.5 6 7
7.5 8 8
8.5 8 9
9.5 10 10
合計値 49.5 50 54

 

(あいちゃん)
Round関数と四捨五入で表を作ってみたよ。一番下が合計なんだけど、Round関数だと元の数値との差が少ないでしょ。

 

(はてな君)
本当だね。四捨五入って数値の大きい方に偏っていくんだね。

 

(あいちゃん)
じゃあ実際にやってみる?

 

(はてな君)
やってみる~!

 

 

Round関数をクエリで使用する

 

使用するテーブル

「T_サンプルデータ」

データ型は数値型です。

 

リボンの①「作成」タブから②「クエリデザイン」を選択し「T_サンプルデータ」を追加します。

 

フィールドに3種類入力してみましょう。

 

Round: Round([数値])・・・・・・引数を省略

Round第1位: Round([数値],1)・・・小数点以下第1位を端数処理

Round第2位: Round([数値],2)・・・小数点以下第2位を端数処理

 

クエリの結果

 

(はてな君)
普通の四捨五入と間違えそうだね。5の処理が違うだけだから。

 

(あいちゃん)
そうなんだよね。知らなくて使ってしばらく気が付かなかったりってこともあるんだよね。

 

(はてな君)
そっか。勉強になりました。

 

普通の四捨五入の方法は下記の記事をどうぞ!

 

【Access】四捨五入、切り捨て、切り上げをする方法

2018年12月8日

 

まとめ

 

Round関数って四捨五入の関数って思って使ってたら「四捨五入されるとき」と「四捨五入されないとき」があって思った通りの「データ解析が行えない」ということです。

「普通の四捨五入がしたい」時には「Round関数」は「使えないんだよ」って覚えてくださいね!