水曜日, 9月 07, 2022

Excelで 不正確な結果の原因は浮動小数点演算のようです

質問がありましたので・・・
計算結果とタイプ入力した値が「TRUE」にならない問題がありますが、これはExcelの浮動小数点演算に影響しているようです。

例えば、A値-B値の結果と、タイピングした文字列を比較します。
(-7.8)-(7.7)=(-0.1)と(-0.1)を[=B4=C4]とすると「FALSE」になってしまいます。
何が違うのかを調べてみると、少数以下16桁目でズレが発生することが分かりました。


のような場合はROUND関数で桁指定すると問題解決です。
 ROUND関数(四捨五入)
 ROUND(数値, 桁数)
例えば4行目で説明すると・・・
 [=B4=C4]← FALSE
 [=ROUND(B4,5)=C4]← TRUE
ここでは5桁までを考慮としました。