ちょっと見てほしいExcelの計算結果があります。
それほど頻繁にあるケースではないと思いますが、もしかしたらビジネスの中であり得るパターンとしてこのような表があるかもしれません。
A列からC列までは、商品をある個数、ある金額で購入したことを記録しています。
D列に1個当たりの購入単価を計算しています。
E列には、INT関数で端数を切り捨てる処理をしています。単価を計算するのに割り切れない場合は当然小数点以下の端数が発生します。端数が発生した場合は切り捨てなどの処理をします。
F列では、D列からE列の値を引いています。切り捨てられた数値は、最終的に積算した時にずれる元になるので端数分だけを他に計算しておいて、後からどこかに足すという処理に使います。
G列では、F列の端数を計算したものがあっているか1割る個数の計算値と比べています。 あっていればTRUE、あっていなければFALSEと表示されます。
購入金額100円で個数9個の結果以外は、全て計算が合っていないという驚きの結果になっています。
これは、Excelの小数点以下の桁数で起こり得る現象で、Excelに限らずコンピューターで計算する以上 起こり得る話なのでGoogleスプレッドシートでも同様の現象が起きます。
参考:マイクロソフト「Excel で浮動小数点演算の結果が正しくない場合がある」
コンピューター登場以前のこのような計算は電卓やそろばんといった計算方法をしている時は、このような誤差はあったとしても人間の判断の中で消えてしまう誤差でしたが、より正確に計算するように自動的にできるようになったので、このような現象が発生します。
もっと単純な計算式でもこの原因による計算間違いは起きています。修正リクエストが反映されないバグもこれに起因しているのかもしれません。
どうしますか、あなたなら(阿部真央)Link
ここからが本題で、 このような現象が実在している事実があって、それでExcelを信じて使い続けていいのかという疑問です。
これについてはそれぞれの価値観があると思います。
命に関わるようなより精度の高い絶対に間違ってはいけないような計算はExcelで行なっていけないような気もしますし、しかし、そのような精度の高い最終的な計算結果には使えないとしても、傾向をつかむために分析するくらいであれば手軽に使えるExcelの方がいいのかもしれません。
Excelを使いたくないという人の中の考えには、間違いの混入する可能性のあるものは使いたくないというものがあるようです。特にコンピューターの専門職の方は、結果に関して絶対に間違ってはいけない世界にいますのでそう考えるというのも納得できます。
しかし、そうではないオフィスユーザーレベルまでが、間違いがあるから使わない、使いたくない、となるのは極端な話で、Excelを使うことによる絶対的な恩恵を放棄するにはもったいない考えだと私は思います。
この間違いがあるので、私は作れますけど、絶対にExcelで電子カルテを作りません。万が一間違えた結果が出た時に命に関わるからです。
間違いを許さない世の中になってきているので、間違いが潜むものに関してナーバスになる気持ちは分かります。しかし、間違いなく言えるのは人間の作業よりもExcelの作業の方が正確だということです。少なくとも凡ミスをすることはありません。人間による凡ミスの数と今回のようなExcelの計算間違いの数のどちらが多いのでしょう?
あるところで、Excelが間違いを起こしたとしても、人間が操作するよりミスしない、と解釈して前向きにExcelの便利さを活用していく、というのがExcelユーザーの最も健康的な使い方なのかと私は思います。
コメント