- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル浮動小数点演算誤差?が見えない)
エクセル浮動小数点演算誤差?が見えない
このQ&Aのポイント
- エクセル2010のシートBのE7セルとシートCのE7セルに同じ0.822の数値が入っていますが、[B.xlsm]Sheet1!E7=E7という比較式でfalseが返ります。通常、浮動小数点演算の誤差は小数点以下20位程度までの表示で見えることがありますが、今回は30位まで表示させても誤差は見えません。
- このような状況はあり得ますか?エクセルの浮動小数点演算は、数値を内部的に近似して保存するため、微小な誤差が生じることがあります。通常、これらの誤差は小数点以下の桁で現れることが多いですが、一部の場合では桁数が増えても誤差が見えない場合もあります。
- エクセルの浮動小数点演算誤差は、計算結果自体は正しいものの、表示上見えないという特徴があります。したがって、正確な数値の比較を行う場合は、数値の差を許容範囲内で判断する必要があります。また、誤差を最小限に抑えるために、数値の計算には少数の桁数で処理する方法や、ROUND関数を使用する方法などがあります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
=[B.xlsm]Sheet1!E7=E7 という式も演算誤差が発生するすることがあるとお考えですか? 拡張子が通常のブック(.xlsx)と異なる理由をお聞かせください。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
回答No.3
https://www.excelspeedup.com/ifokashii/ 同じ数字なのにif関数では「不一致」になる理由 などを読んで思い当たる点はないですか? ーー 質問文で >BOOK-AのシートBのE7セルに0.822という数値 >BOOK-BのシートCのE7セルにも0.822 で =[B.xlsm]Sheet1!E7=E7と書いているが、関数を入れているブック・シートは Book-AのシートBらしいが、質問では正確に、統一して書かないとややこしいと思うがどうか?Sheet1!とシートBとか。 セルの書式は、「指数」としているのだろうが、小数点以下の桁数はどう設定していますか?最後の部分にE-01とかになっていると思うが、その点はどうなってますか? ーー その他記事 https://eip.econ.kanagawa-u.ac.jp/eip/excel-calc-error.html
質問者
お礼
ありがとうございます。 今やると、その式では再現しませんが VBAで比較するとFalseになります。 もっと整理してから再質問します。
- kkkkkm
- ベストアンサー率66% (1718/2588)
回答No.1
2013だとTRUEですね…。入力したデータ同士でFALSEになったら、もうエクセルが信頼できなくなります。どのファイルでもFALSEなのでしょうか。
質問者
お礼
ありがとうございます。 今やると、その式では再現しませんが VBAで比較するとFalseになります。 もっと整理してから再質問します。
お礼
ありがとうございます。 今やると、その式では再現しませんが VBAで比較するとFalseになります。 もっと整理してから再質問します。
補足
>という式も演算誤差が発生するすることがあるとお考え いえ、この式で演算誤差が発生するのではなく、もとデータに誤差があるのではという疑問です。