現在オフラインです。再接続するためにインターネットの接続を待っています

浮動小数点演算での丸めエラーを修正する方法

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:214118
現象
Excel や Microsoft Works の浮動小数点数の算術演算の多くの組み合わせによって非常に小さい金額が不適切な結果になる場合があります。たとえば、数式
=1*(.5-.4-.1)
数量に評価される場合があります (- 2.78E - 17)、または 0 ではなく-0.0000000000000000278。
原因
この現象の問題や Excel の機能の制限ではなく、この現象は、米国電気電子部品 (IEEE) 754 浮動小数点標準および番号をバイナリ形式で保存することが必要になるために発生します。
回避策

方法 1

浮動点演算のストレージの不整合の影響を最小限に抑えるには、計算が必要な小数点以下桁数に数値を切り上げた Round() 関数を使用します。たとえば、通貨を使用している場合は、小数点以下 2 桁に可能性が切り上げします。

=round(1*(0.5-0.4-0.1),2)

方法 2

浮動小数点の丸め誤差の 表示桁数で計算 を使用して、作業に与える影響から頻繁に防ぐことができますオプション。このオプションは、ワークシートでの表示精度には、各番号ワークシート内の値を強制します。

メモ[表示桁数で計算] オプションを使用すると、データがますます不正確な時間の経過と共にできる計算の累積的な効果を持つことができます。表示されている percision、データの正確さが維持され、特定いる場合にのみ、このオプションを使用します。

表示桁数で計算] オプションを使用するのには、次の手順を実行します。

Excel 2000、Excel 2002 および Excel 2003
  1. [ツール] メニューの [オプション] をクリックします。
  2. 計算方法] タブの [ブック オプション] で、[表示桁数で計算] チェック ボックスをオンにする] をクリックします。
  3. [OK] をクリックします。
Excel 2007
  1. Microsoft Office ボタン) をクリックし、Excel オプション、し、[詳細設定] カテゴリ をクリックします。
  2. このブックを計算するとき] セクションで、表示精度の設定] チェック ボックスをオンにするブックを選択し、[OK] をクリックします。
表示桁数で計算] オプションを使用すると、特定の数値形式を使用して、数値の書式を設定する必要があります。

セルに、特定の数値の精度の書式を設定するのには、次の手順を実行します。
  1. 書式を設定するセルをマウスの右ボタンでクリックし、[セルの書式設定] をクリックします。
  2. 表示形式] タブの [カテゴリ] の [番号] をクリックします。
  3. [小数点以下の桁数] ボックスで、必要な精度 (小数点以下の桁数) を選択します。
  4. [OK] をクリックします。
Excel 2010
  1. [ファイル] タブをクリックし、Excel オプション、し、[詳細設定] カテゴリ をクリックします。
  2. このブックを計算するとき] セクションで、表示精度の設定] チェック ボックスをオンにするブックを選択し、[OK] をクリックします。
表示桁数で計算] オプションを使用すると、特定の数値形式を使用して、数値の書式を設定する必要があります。

セルに、特定の数値の精度の書式を設定するのには、次の手順を実行します。
  1. 書式を設定するセルをマウスの右ボタンでクリックし、[セルの書式設定] をクリックします。
  2. 表示形式] タブの [カテゴリ] の [番号] をクリックします。
  3. [小数点以下の桁数] ボックスで、必要な精度 (小数点以下の桁数) を選択します。
  4. [OK] をクリックします。
詳細
IEEE 754 標準の浮動小数点数、操作が容易なコンパクトな方法で格納する方法です。この標準は、Intel コプロセッサおよび浮動小数点数値演算の実装、ほとんどの PC ベース プログラムで使用されます。

IEEE 754 番号ストレージ要件を削減し、比較的高速な方法でデータを処理するすべてのマイクロプロセッサで使用可能な組み込みのバイナリの算術命令を許可するのにはバイナリ形式で保存するように指定します。ただし、一部の数値は、完全な精度で保存できない可能性が、2 進数の繰り返しにある繰り返しなしの 10 進数を変換する単純なです。

たとえば、番号 1/10 10 進番号システムを単純な 10 進数で表すことができます。
.1
ただし、バイナリ形式で同じ数、10 進数の繰り返しのバイナリ次のようになります。
.0001100011000111000111 (と)
この番号は、限られた量の領域に表示することはできません。 したがって、この番号によって約切り捨てられた - 2.78E - 17 が格納されている場合。

指定された結果を取得するのには複数の算術演算が実行される場合は、これらの丸め誤差が累積的な可能性があります。
関連情報
関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください:
78113浮動小数点演算不正確な結果を得ることがあります。

Excel 2007 および Excel 2010

計算の精度を変更するには、ツールバーの [Microsoft Office Excel ヘルプ] をクリックする方法の詳細については、Excel のヘルプ で、いつ、どのように数式を計算する変更 を入力し、トピックを表示するには [検索] をクリックします。

Excel 2002 および Excel 2003

計算の精度の変更の詳細については、ヘルプ] メニューの [Microsoft Excel ヘルプ] をクリックして、Office アシスタントまたはアンサー ウィザードで いつ、どのように数式を計算する変更 を入力し、トピックを表示するには [検索] をクリックします。

Excel 2000

計算の精度の変更の詳細については、ヘルプ] メニューの [Microsoft Excel ヘルプ] をクリックして、Office アシスタントまたはアンサー ウィザードで Excel の数式の計算方法の変更 を入力し、トピックを表示するには [検索] をクリックします。
XL

警告: この記事は自動翻訳されています

プロパティ

文書番号:214118 - 最終更新日: 05/13/2010 05:13:00 - リビジョン: 8.0

Microsoft Excel 2000 Standard Edition, Microsoft Excel 2002 Standard Edition, Microsoft Office Excel 2003, Microsoft Office Excel 2007, Microsoft Excel 2010

  • kbprb kbmt KB214118 KbMtja
フィードバック