MS Excel 2007 If Then式のトラブル


1

これは、MS Excel 2007を使用しているときに見られる問題の単純化されたケースです。

シートを小数点以下2桁の通貨にフォーマットします。

セルA1タイプ25

セルA2タイプ20.13

セルA3タイプ4.87

CELL B3は、式= A1-A2を入力します

セルA4は、数式= IF(A1-A2 = A3、 "TRUE"、 "FALSE")を入力します

セルB4は、数式= IF(A3 = B3、 "TRUE"、 "FALSE")を入力します

ERROR is A4はFALSEを表示し、B4はFALSEを表示します

:最初に、簡易バージョンで精度エラーに気付きました。そこで、最初に、このガイドを使用してディスプレイで計算する精度を変更しました。これで私の簡単なバージョンは修正されましたが、まだページに問題がありました。小数点の表示を12桁に変更しました。2番目の小数点以下はすべて、シート上のすべての値でゼロです。

私の式/ワークシートを修正しようとすることができる他のことについて誰にも提案がありますか?


2
そのページ(ROUND(1つ)で方法1を使用しなかったのはなぜですか?このas displayedメソッドは結果セルでのみ機能します。これらのセルは、正しく表示されるだけであるため(ただし、内部ではまだ「オフ」)、これらの状況で常に使用されるため、さらに計算を行うことはできませんround(
リック

1
Excel 2010でこれを試してみましたが、問題はありません。A4とB4の両方がTRUEを表示します。ただし、ROUND()関数を使用して小数点以下2桁を使用すると、問題を解決できると思いますか?
アンディモール

2
うん。常にすべてのバージョンで。そのページで警告が表示されることもあります。注意[表示精度]オプションを使用すると、累積計算効果が得られ、データが不正確になることがあります。このオプションは、表示された精度がデータの正確性を維持することが確実な場合にのみ使用してください。特にこれらの種類のデータでは、常に確認して使用してくださいround(
リック

@Rik Ahh、それは役に立ち、面倒を見てくれました。ROUNDフォーミュラについては知りませんでした。それを答えとしてください。正しい解決策としてマークします。
JabberwockyDecompiler

回答:


1

浮動小数点演算を使用し、その結果を使用して評価または追加の計算を行う場合、多くの場合、結果が正しい/予想される精度であることを確認するのが最善です。

適切な精度を確保するための最善の方法はROUND()、数式で使用することです。この場合はになります=IF(ROUND(A1-A2,2)=ROUND(A3,2),"TRUE","FALSE")

ここでマイクロソフトが推奨する2番目の方法は、セルが正しい小数で表示されることのみを保証します。内部的には、わずかにオフになっている場合があります。これを使用してさらに再計算を行うと、不正確さが大きくなる可能性があります。評価の場合、この設定は効果がありません。

注[表示された精度]オプションを使用すると、累積的な計算効果が得られる可能性があり、時間の経過とともにデータが不正確になる可能性があります。このオプションは、表示された精度がデータの正確性を維持することが確実な場合にのみ使用してください。

したがって、最良のアドバイスは、ROUND()評価中に期待される精度が得られる式を常に使用することです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.