ExcelのRound関数を使用したのになぜか、下の桁(12分の1の位)に1が残ります。なぜ残るのですか。

Kenji Shimizu 0 評価のポイント
2024-11-21T08:37:46.38+00:00

ExcelのRound関数を使用したのになぜか、下の桁(12分の1の位)に1が残ります。なぜ残るのですか。

添付ファイルのようにB-Aをすると1が残る場合と残らない場合があります。

なぜでしょうか。

Office
Office
ワープロ、電子メール、プレゼンテーション、データ管理と分析など、一般的なビジネス タスクをサポートする一連の Microsoft 生産性ソフトウェア。
99 件の質問
0 件のコメント コメントはありません
{count} 件の投票

1 件の回答

並べ替え方法: 最も役に立つ
  1. Yanhong Liu 13,835 評価のポイント Microsoft ベンダー
    2024-11-22T02:26:46.37+00:00

    こんにちは、

    この問題は、Excel が浮動小数点演算を処理する方法が原因で発生します。Excel は浮動小数点演算の IEEE 754 標準に準拠しており、計算でわずかな精度エラーが発生する可能性があります。浮動小数点数 (小数を含む数値) に対して算術演算を実行すると、すべての小数が 2 進数形式で正確に表現できるわけではないため、わずかな丸めエラーが発生する可能性があります。

    これらの小さな違いが結果に影響しないようにするには、計算で丸めと論理チェックを組み合わせて使用​​できます。非常に小さな差を効果的にゼロにするために使用できる関数の例を次に示します。

    =IF(ABS(B - A) < 1E-12, 0, B - A)

    この数式は、B と A の絶対差が非常に小さなしきい値 (この場合は 1E-12、つまり 0.000000000001) より小さいかどうかを確認します。小さい場合は 0 を返し、小さい場合は差を返します。

    上記の情報がお役に立てば幸いです。

    よろしくお願いいたします。

    Yanhong Liu

    ================================================

    回答が役に立った場合は、「回答を承認」をクリックして賛成票を投じてください。

    0 件のコメント コメントはありません

お客様の回答

回答は、質問作成者が [承諾された回答] としてマークできます。これは、ユーザーが回答が作成者の問題を解決したことを知るのに役立ちます。