EXCELのRoundとAccessのRoundは結果が違う

分かっている人には分かっている、EXCELとAccessのRoundの違いについて書いておきます。

 

ExcelではRoundは四捨五入です。

=round(0.4,0)  → 0
=round(0.5,0)  → 1
=round(1.4,0)  → 1
=round(1.5,0)  → 2
=round(2.4,0)  → 2
=round(2.5,0)  → 3
=round(3.4,0)  → 3
=round(3.5,0)  → 4

となります。

 

ところが、ACCESSでは四捨五入になりません。

round(0.4,0) → 0
round(0.5,0) → 0
round(0.6,0) → 1
round(1.4,0) → 1
round(1.5,0) → 2
round(2.4,0) → 2
round(2.5,0) → 2
round(2.6,0) → 3
round(3.4,0) → 3
round(3.5,0) → 4

となって、結果が違います。

 

Wikiの端数処理を見ていると、「最近接偶数への丸め」の動作ですね。

というわけで、普通に四捨五入と思って使っていると困った事になるので注意が必要です。