Life in UEC

Life hacks to enjoy at UEC

Excelがダメな理由

f:id:kabegamikamio:20200620013547p:plain

Excelくんは本当に優秀です. 実験データをそのまま入力して,あとで数式をつければほしい結果がすぐに出てきます. いちいち計算しなくたって数式をコピペすれば値を変えて同じ計算をできますし,プロットなんてしなくたってグラフが書けます.

でもExcelを過信しないでほしい.

というわけで,なぜExcel教には入信してはいけないか少しだけ考察します. 今回はさくっと読める内容なのでどうぞ身構えないで,オットマンにでも足を投げ出して読んでください.

私はIQが3しかないので表計算ソフトのことをおしなべてExcelと呼びます. 実際のところLibreOffice CalcだろうがKingsoftの同じようなものだろうがKing Gnuだろうが提供されている機能はほとんど同じなので,Excel = Excel準拠品としてATOK並の変換精度で脳内変換していただけるとガラスの心が助かります.

Excelは便利すぎる

冒頭で少しお話しましたように,Excelは機能が豊富で人間がやると結構手間のかかる計算を自動的にやってくれます. その点大量の実験データを処理するには非常に有効な方法であることは認めましょう. じゃあ何が問題なのかというと,Excel機能が豊富すぎて,便利すぎるのです.

1 数式のミスに気づきづらい

Excelのいいところはまず数式が使えるところだと私は思っていますが,これが逆に仇となります. 紙面に書く数式と違ってExcelくんの数式は横一列にべたーっと式が並びます. またカッコは丸括弧だけなので括弧のネスト(終わりと始まり)が分かりづらい問題があります. 例えばこれは一例.これはまだ軽症ですね.

f:id:kabegamikamio:20200620015121p:plain

こうなってくるとちょっときつい. 一度途中式を出してそれを繰り返し代入することでアフリカのバッタ並の括弧の増殖は防げますが,それをやると今度はフィールドが夏場のコバエ並の括弧の大量増殖並に増えます.バッタとコバエの画像は貼りません.

f:id:kabegamikamio:20200620015235p:plain

これが例えばミスで,以下のようになっていた時,すぐに分かるでしょうか? ミッケよりは簡単ですね.ウォーリーをさがせの最初の方くらいの難易度ですが,毎回ウォーリーをさがせしてたら流石に心が病みます.

f:id:kabegamikamio:20200620015521p:plain

2 有効数字がわからなくなる

これは私だけかもしれませんが(IQが3しかないので). Excelってどうしても数式を詰め込みたくなるんですよ. だってそのほうがフィールドが減ってスプレッドシートの見た目がいいから.

でもそれやるとあとで有効数字の検討するの大変ですよ?(自問) 特に複雑な式に慣ればなるほど,先程もお見せしましたが,数式は古典英語の本くらい読みづらくなります.

また「値を丸めながら代入するのか」「とりあえず全部機械的に計算してから最後に丸めるのか」によって微妙に計算結果が異なることがありますが,特に前者に当てはまる方はExcelくんとは友達以上にはなれないです・・・.

そもそも色んな所でチヤホヤされるExcelくんはあなたになんか興味ありませんから.

話が中央分離帯を越えてしまいました. 元に戻すと,値を丸めながら計算をする場合はフィールドを増やすしかありません. そうすると当然スプレッドシートは名前の通りデータがspread(とっちらかる)しますし,参照が多くなるとどこを参照しているのか分かりづらくなります.

3 計算精度???

Excelくんは理系の大学生を救うためのツールではないので計算精度が実はそんなに高くないのです. 試しに計算精度を測る \tan \frac{355}{226} を計算してみます.結果はExcelくんは-7 497 258.179で,実際の値- 7 497 258.185と比べると8桁までは正しい値を返します.が,それ以降は精度がガタ落ちします.

計算精度の話をするとどうしてもこの話をしたくなります. Canon関数電卓は人気がないですが,実はCasioより安くて高性能です. 特にF-789SGというモデルは先程のtanの値を表示桁数の10桁まで正確に示します. 一方の「お高い関数電卓」Casioのfx-JP900ではExcel以下の7桁.いやホント笑えない.

そしてもう一つの問題は,非常に小さい数値を勝手に0にしてしまう癖があること. 極大・極小な数は自動的に指数表示になるので基本問題ないのですが,式の切片が0ではないのに0と表示されるのはちょっと気持ち悪いですよね.

え,そんなこと気にするお前が一番気持ち悪いって?百理ありますわ.

結語

以上,3点Excelを使う上での課題を挙げました. Excelをうまく使う方法としては筆算&関数電卓とともに使うのが良いと思います. 基本的には計算はExcelでやって,1個2個値を無作為に抽出して検算すれば大体のミスは防げます. 本当にこういうミスは(検算を)やるかやらないかなので・・・. 面倒ですが,こういうところをしっかり抑えていくことがレポート点を高得点で安定させるコツかも. いや返ってきてないから知らんけど.

まぁどの道具も過信は良くないので,自分で必要なものだけ得られるように工夫して使いましょうね.

【了】