AccessのRound関数(丸め)
こんにちは、 篠原です。
今日は、AccessのRound関数についてです。
指定された小数点位置で丸めた数値を返す
AccessのRound関数を使う場合には、ヘルプを参照して、よく理解したうえで使用します。
Excelで使用するRound関数は「四捨五入」を行います。
Accessで使用するRound関数は「丸め」を行います
言っていることが違うわけですから、当然その造作は異なります。
四捨五入
四捨五入はご存じのとおり、支持位置の数字の位を4以下は切り捨て、5以上は切り上げるという処理です。
丸め
AccessのRound関数のヘルプを見ると「4以下は切り捨て、6以上は切り上げ、5は元の数値が偶数になるよう、切捨てか切り上げが行われます。」と書かれています。
関数名は同じでも、その振る舞いは異なる
つまり、こういうことです。
結果を1の位で丸めると
- 1.4 ---> 1
- 1.5 ---> 2(切り上げで2になる)
- 1.6 ---> 2
- 2.5 ---> 2(切り捨てられ2となり、3にはならない)
このように、Round関数は、ExcelとAccessでは、関数名は同じでも関数の振る舞いが異なります。
使用するときには注意しましょう。
わたしは、このRound関数で迷宮に迷い込んだことがあります。同じ名前の関数なら、同じ振る舞いをするだろうとの思い込みからでした。
図に、その様子を載せておきます。
関数は「=Round(単価*数量,1)」としています。
(小数点以下第1位が切り上げられる例、小数点第1位の7が奇数のため偶数になるように切り上げられた)
(小数点以下第1位が切り捨てられる例、小数点以下第1位が偶数のため、偶数を維持するために、切り捨てられた)
「パソコン無料相談」?も見てね。