Excel mod関数の丸め誤差

Excel mod関数の丸め誤差

Excel で 0.4 の倍数をテストしています。

=MOD(1.2;0.4)

0 を返すべきところ、0.4 を返します。

答え1

その理由は、Excel が内部的に浮動小数点数で動作するためです。

つまり、0.4 は内部的には小数点の右側のビット シーケンスとして表され、1/2、1/4、1/8、1/16 など、約 1/(2^31) までを表します。

したがって、ない整数(そしてその通り(上記の分数で表せる)数値には丸め誤差が伴います。これは計算のすべてのステップにも当てはまります。

MOD(*,0.4)それは、それを示すための単なる一例です(かなり露骨な例ですが)。

基本的に、MOD2番目のパラメータとして非整数を使用すると信頼性が損なわれる. それがオプションである場合 ( のように=MOD(10*x;10*m)/10)、それに応じてデータを乗算およ​​び除算するか、MOD 式を自分でコーディングする必要があります=x-INT(x/m)*m

関連情報