• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル浮動小数点演算誤差?が見えない)

エクセル浮動小数点演算誤差?が見えない

このQ&Aのポイント
  • エクセル2010のシートBのE7セルとシートCのE7セルに同じ0.822の数値が入っていますが、[B.xlsm]Sheet1!E7=E7という比較式でfalseが返ります。通常、浮動小数点演算の誤差は小数点以下20位程度までの表示で見えることがありますが、今回は30位まで表示させても誤差は見えません。
  • このような状況はあり得ますか?エクセルの浮動小数点演算は、数値を内部的に近似して保存するため、微小な誤差が生じることがあります。通常、これらの誤差は小数点以下の桁で現れることが多いですが、一部の場合では桁数が増えても誤差が見えない場合もあります。
  • エクセルの浮動小数点演算誤差は、計算結果自体は正しいものの、表示上見えないという特徴があります。したがって、正確な数値の比較を行う場合は、数値の差を許容範囲内で判断する必要があります。また、誤差を最小限に抑えるために、数値の計算には少数の桁数で処理する方法や、ROUND関数を使用する方法などがあります。

質問者が選んだベストアンサー

  • ベストアンサー
  • msMike
  • ベストアンサー率20% (364/1804)
回答No.2

=[B.xlsm]Sheet1!E7=E7 という式も演算誤差が発生するすることがあるとお考えですか? 拡張子が通常のブック(.xlsx)と異なる理由をお聞かせください。

emaxemax
質問者

お礼

ありがとうございます。 今やると、その式では再現しませんが VBAで比較するとFalseになります。 もっと整理してから再質問します。

emaxemax
質問者

補足

>という式も演算誤差が発生するすることがあるとお考え いえ、この式で演算誤差が発生するのではなく、もとデータに誤差があるのではという疑問です。

その他の回答 (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

emaxemax
質問者

お礼

ありがとうございます。 今やると、その式では再現しませんが VBAで比較するとFalseになります。 もっと整理してから再質問します。

  • kkkkkm
  • ベストアンサー率66% (1718/2588)
回答No.1

2013だとTRUEですね…。入力したデータ同士でFALSEになったら、もうエクセルが信頼できなくなります。どのファイルでもFALSEなのでしょうか。

emaxemax
質問者

お礼

ありがとうございます。 今やると、その式では再現しませんが VBAで比較するとFalseになります。 もっと整理してから再質問します。

関連するQ&A

専門家に質問してみよう