システムトレードで、株・商品先物・日経平均先物(TOPIX・日経225)・FX(外国為替証拠金取引)の相場を生き残る!
システムトレードで楽ちん投資
トップページ | トレード実践録 | インフォ〜 | プロフィール | 更新履歴 | リンク | メルマガ | お問い合わせ

投資に役立つエクセル関数講座 その13  コンピューターの苦手な小数の計算

コンピューターは小数の計算が苦手です。
ExcelやWindowsに限った話ではなく、すべてのパソコン・コンピューターが該当します。
 
たとえば、10.6−9.7 などという簡単な計算すら正確にできない場合があります。
0.9に決まっているじゃないかというのは人間の考え方です(確かにその通りです)。
 
少し実験してみましょう(事例はExcel2000を採用しています)。
セルE1に1.3、次のセルに1.2を入れます。
 
コンピューターは小数の計算が苦手です。実験してみましょう。
 
そしてふたつの小数を選択して、下へ引き伸ばしてください。
カレンダーを作るときと同じ要領です。
1.1、1.0、0.9……といった小数が自動で作成されたはずです。
 
小数を並べたつもりが……
 
ところが、0.7をよく見ると、0.699999……になっています。
(ひょっとしたら、必ずしも、0.7で発生しないかもしれません)
 
思わぬ値になっている!
 
見かけは0.7ですが、このまま複雑な計算を行うと、思いもよらない値を返してくることが予想されます。
なぜ、このような現象が起こるのかというと、数値をメモリ内で扱う変数の型が原因です。
この問題をパソコンの使用者が外部から修正することはできません。
 
簡単な事例をだしてみましたが、計算中に小数が発生すると、この問題にぶつかることになります。
そこで、誤差の生じない計算を行うため、何らかの便宜的な処理が必要です。
簡単な処理としては、いったん整数に戻してから、再度、小数に直してしまうという方法があります。
 
10.6−9.7 → (10.6×10−9.7×10)÷10 としてしまうのです。
相対参照や絶対参照などで小数を扱う場合には、注意してください。
 
またExcelでは、小数第何位まで表示とか、四捨五入とか、書式設定のために正確な値を返しているように見える場合
があります。事例では、Excelを取り上げていますが、他のアプリケーションで起こらないとはいえません。
OSの区別なく、コンピューターに現在、ついてまわっている問題です。
コンピューターが小数の計算を正確に行うことは、難しいのだと覚えておいてください。
  
 
※「タコヤン・システム」で、特に為替などの小数点を含む値を簡易マッピングするときは、整数に直すように触れています。
  面倒でも、そのようにしてください。
 
 
TOPへ戻る  
Copyright (C) toushikenbunroku.com, All Rights Reserved.