EXCELの計算で誤差がでる。

Excelに限らず、コンピューターすべてに当てはまる。
ただ、
Excelは、誤差の辺りをごまかしてるので、余り気がつかず見過ごしている。

コンピュータはすべて二進数で動いている事に原因がある。

10進数の「2」は2進数では「10」
10進数の「3」は2進数では「11」
となる、ところが
10進数の「0.1」は2進数では「0.0001100011・・・」となっていく。
小数点以下の数字は” 2^-n ” の和で表現されるため、ほとんどの数値が循環小数になり有限の桁数では収まらない。
無限の桁数は扱えないので、非常に小さい桁で数値を丸め処理している。

それで発生する誤差を「演算誤差」「丸め誤差」と呼ぶ。

普通の単純計算では、あまり問題にはりませんが、数値の使用桁数や端数処理はきちんとやりましょう。

サンプル
A列 - B列 = C列 とした計算時

EXCELで誤差

Excelに限らず、

浮動小数点の計算結果どうしの比較とかを=でやると一致しないってことがあります。
ですから、

結果が0かどうかの判別なんかは、微小数以下になったら0とみなす等の工夫が必要になります。

Follow me!