みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

エクセル2010です。
BOOK-AのシートBのE7セルに0.822という数値が入っています。
見た目も、数式バー上も0.822です。
BOOK-BのシートCのE7セルにも0.822という数値が入っています。
見た目も、数式バー上も0.822です。
ところがこれを
=[B.xlsm]Sheet1!E7=E7
で比較すると、falseが返ります。
これまで浮動小数点演算誤差で、見た目がおなじでも小数点以下かなり下の方で違いケースは経験していましたが、その場合でも小数点以下の表示を20位くらいまで表示させると違いが表れました。ところが今回は小数点以下30位まで表示させても0.822000000000000000000000000000で誤差が見えません。でもfalseになります。
こんなことってあるんでしょうか?

投稿日時 - 2019-05-19 21:21:57

QNo.9618192

暇なときに回答ください

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

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

投稿日時 - 2019-05-20 11:05:29

補足

>という式も演算誤差が発生するすることがあるとお考え

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

投稿日時 - 2019-05-21 20:22:21

お礼

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

投稿日時 - 2019-05-21 20:19:59

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.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

投稿日時 - 2019-05-20 22:25:12

お礼

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

投稿日時 - 2019-05-21 20:20:14

ANo.1

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

投稿日時 - 2019-05-20 08:03:41

お礼

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

投稿日時 - 2019-05-21 20:19:31

あなたにオススメの質問