質問: excelの関数"stdev(標準偏差)"について excel2002でstdev関数を用い標準偏差を出力しておりまして、通常対象となる数値(データ)が全て同じ値となる場合は平均値も同じ値となるため標準偏差"0"となるかと思うのですが、数値が3.974でn数が3,5,6,7の場合"0.0000000596..."のように"0"にならず、頭を悩ませております。 そこで質問なのですが、ズバリ『何故"0"という結果が出ないのか』です。単純な事かもしれませんが有識者の皆様、是非ご教授下さいますようお願い申し上げます。
回答: エクセルの浮動小数点の計算桁数は確か16桁です。 無限の桁で計算しませんので当然誤差が生じます。 いまの場合を本来無限の桁数を計算すれば0になるはずですが, 有限桁で行うと0にならない場合もあります。 単純な話。 1/3=0.333333333333・・・・ 両辺に3をかけると左辺は1になりますが右辺は0.99999999・・・ ですよね。 特に浮動小数点の10進数を2進数の浮動小数点であらわすと0.5とか0.25とかで無い限り,無限桁でないとあらわせませんから,なおさらです。 エクセル2003では多少計算精度が向上しておりこのようなことが起こりにくくはなっているようです。 以下のリンクを参考にしてください。 こういう場合は有効数字の考え方を導入して,もとのデータの有効数字が4桁の場合は標準偏差も4桁と考えて5桁目を四捨五入すべきです。 参考url:http://support.microsoft.com/kb/826112/ja