• ベストアンサー

EXCELのNORMINV関数

EXCELのNORMINV関数で NORMINV(0.5,0,1)が0を返さないのは何故でしょうか。 限りなく0に近い数は返すのですが… 気になって仕方ありません。 どなたか教えていただけますでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
noname#221368
noname#221368
回答No.1

 NORMINV関数を調べていない事は、お断りしておきます。  関数値0が正解なら、それは桁落ちと丸め誤差の影響と思われます。数値計算では良く起こる事なんです。理由は3つあります。  (1)PCは内部的に、入力値を2進法に変換して計算します。この時、計算過程によっては、計算結果が2で割り切れない状態(無限小数)になる事があります。  (2)ところが割り切れないにも関わらず、CPUの有効桁数は、標準の最大で16桁です。ここで無限小数に関わる、限りなく0に近い誤差が出ます。  (3)Excelの特殊事情として、Worksheet関数の精度は、余り良くないと自分は思っています。どの程度かは調べていませんが。なので、CPUのフル桁の値を得たい場合は、よくマクロを書きます。  さらに、0で判定するIf文を書いた時、体調が悪いと(1)と(2)の影響を忘れて、はまったりします。0以外の2.5とか3.0という値では、余り気にならないものですから。(1)と(2)は、それくらい頻繁に起こります。

tee-hee
質問者

お礼

回答していただき、ありがとうございました。 コンピュータの性質の問題なのですね… 何か数学的な条件を自分が見落としているのかと考え込んでしまいました。 お陰様で気分よく眠ることが出来そうです^^ ありがとうございました。

関連するQ&A