通常(整数)の計算では気づきにくいが、EXCELに限らず誤差がでます。
まず、右のEXCELシートをご覧ください。
単純に A列-B列=C列 としたものですが、
A列-B列=D列(小数点以下20桁まで表示)にした場合、
8,9,10行及び19行に答えの違いが現れます。
Excelに限らず、コンピュータすべてに言える事ですが、
Excelは結構上手にごまかしてるので、気が付かない場合がほとんどです。
コンピュータなのになぜ?
それはコンピュータの中はすべて二進数で処理されているので、小数点以下の数字は
ほとんどの数値が循環小数になり正確には表現されません。
その例えが、上記のEXCELシートです。
通常の計算ならA列-B列=C列の数値で表されるので、今まで全く気が付きませんでした。
2進数の処理では当たり前に発生する誤差ですので、細かな数値や大量の数値を四則演算する場合は、端数処理や数値型などに十分な注意が必要ですよ。
小数点以下15、16桁目が分岐点みたいですね。