BLOGTIMES
2013/11/13

Excel の計算結果が正しくない場合がある

  excel  PoC 
このエントリーをはてなブックマークに追加

特定の条件がそろうと Excel の計算が間違っているように見えることがあります。
ちょっと意地の悪い計算を Excel にさせてみると、こんな感じになります。

Excel の浮動小数点数誤差 - Excel の計算結果が正しくない場合がある

このような事象は計算機科学の基礎で浮動小数点数の解説を受けたことがある人であれば納得感があると思います。つまりこれはExcel が悪いわけではなく本質的には浮動小数点数演算による制限ということになるわけで、Excel に限らず C 言語や Java の float や double でも同様の問題が発生します。しかしながら、訳も分からずに「 Excel が計算間違えてる!」と噛みつく人も多いのか MS のナレッジベースに下記のようなドキュメントが置いてありました。

Excel で浮動小数点演算の結果が正しくない場合がある

Microsoft Excel では、浮動小数点数の格納および計算は、IEEE 754 の規格に沿って設計されています。IEEE とは、Institute of Electrical and Electronics Engineers の略で、コンピューターのソフトウェアおよびハードウェアの標準規格を策定している国際的な団体です。IEEE 754 規格は、2 進コンピューターでの浮動小数点数の格納方法について定めたもので、きわめて広く採用されています。この規格が広く利用されているのは、浮動小数点数を適度な容量の領域に格納でき、計算を比較的高速に実行できるという理由からです。IEEE 754 規格は、Intel、Motorola、Sun の各プロセッサや MIPS プロセッサなど、浮動小数点演算を実装する今日の PC ベースのマイクロプロセッサほぼすべてにおいて、浮動小数点ユニットおよび数値データ プロセッサで使用されています。

ちゃんと数値演算が IEEE754 に沿った実装であるということも、今さらながら確認できました。


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/6270
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン