見出し画像

Excelは、奥深い3・・・コンピュータは小数点計算が実は苦手

Excelってほんと奥深い。
あることから、ここ2ヶ月ほどは、ほんとExcelに大変お世話になりました。

その中で、どうしても解決できないことがあったので、書いておきたい。

Excelで集計していくと、ときに小数点10桁くらいに数字が残っていることがあった。

EXCELの単純な計算に誤差があるようです。12.3-12=0.3000000000000010000となり0.3にならず困っています。もし、どのEXCELも同じ現象なら大きな問題です。

表上では、小数点2桁で揃えた数字で一致するはずが、検算のためと作った「if」で前と、後を比較すると、違うと表示されたので、小数点以下表示を拡大していくと・・・・ずっと下の方に数字が残っていることが判明。

これ何?

それとも、集計対象のデータに、誤って入力された数値がある訳?!

なぁんて、いろいろデータの粗探しもするが、とうとう疲れてしまった。
この期間は、土日も休みなしで3週間連続勤務となっていて、自分の間違いか?!とも心配になる始末・・・

でたどり着いたのが、先に紹介したMicrosoftのコミュニティに投稿されたもの。そのほかにも同様な紹介は多々あったので、これで安心して作業を進められることとなった。

コミュニティに投稿されていた「KUNIOTOYODA」さん、ありがとう!!

回答者のお一人「y sakuda」さんの解説の一部

Excelに限らず、コンピュータすべてに当てはまる話です。
ただ、Excelはこの辺りを結構サービスしてごまかしてるので、気が付かないケースもあります。
理由はコンピュータはすべて二進数で処理するわけですが、小数点以下の数字は2^-n の和で表現されるため、ほとんどの数値が循環小数になり正確には表現できません。
例えば、0.1なんかもだめです。

お〜!そうなんだ。
これ、Excelダメじゃん!ってことじゃなく、コンピュータ全ての事象なんですね!

もうお一人は「マックちゃん」さん

浮動小数点演算についての解説と、こういう場合にExcelでどう処理したらいいかを細かく解説。

いやぁ〜有難い、ありがたい。

私の場合は、統計処理しているのでもないので、そこまで正確に数値の処理をせねばならないわけでもなく、これが分かっただけで助かりました。

これを知らなければ、疲れ果てた私の頭は、『ま、いいじゃん!これは黙っておいて、出来たことにしておこう!』って具合に進んでいたはずです。

スッキリしました!!


この記事が気に入ったらサポートをしてみませんか?