
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)
それは、それを示すための単なる一例です(かなり露骨な例ですが)。
基本的に、MOD
2番目のパラメータとして非整数を使用すると信頼性が損なわれる. それがオプションである場合 ( のように=MOD(10*x;10*m)/10
)、それに応じてデータを乗算および除算するか、MOD 式を自分でコーディングする必要があります=x-INT(x/m)*m
。