これまでのEXCELの悪行の数々
「ごめんなさい」では済まされない! 財政切り詰め策の根拠となった論文に誤り 欧州連合の方針に疑問
Excel使うな
Excelが遺伝子研究の誤りのもとになっていると研究者が指摘
表計算をマジなことに使わないほうがいいよ(マジで)
だいたい、表計算というものは手早いやっつけ仕事には向いているものの、真面目で重要な作業には向いていないのだ。
- まともなソフトウェアには詳細なテストが付随するべきである。テストなしで、どうして自分の書いた機能が、自分が意図する通り正しく動作すると言えるのだ? 表計算は、テストをサポートしていない
- 表計算は、コードレビューを困難にする。コードは何十、何百もの小さなセルの中に散らばっている。コードを自分で注意深く検証できず、また他人による検証も難しい状況で、どうして信頼できようか?
- 表計算はコピペプログラミングとやっつけ仕事を自然と行わせてしまう。コードの検証、テスト、保守を難しくする。
奥村教授はブログだけではなく論文も出されている
LaTeX解説書籍でも知られる三重大学の奥村教授が、「ネ申Excel問題」というタイトルの論文を出している(論文PDF)。「ネ申Excel」というのは、データの再利用を考えずに見栄えだけをそろえたExcelデータのことで、「紙への出力しか考えていないExcel」という意味も含んでいるという。
論文では実例とともに「ネ申Excel」について紹介するとともに、なぜこれが問題なのかや対策について解説されている。とはいえ、このように説明されても、なぜこれが問題なのか理解できない(もしくは理解しようとしない)人は多くいそうだ。
表計算ソフトで機械可読なデータを作成するには,セル結合・罫線・文字飾りなどの視覚的効果にデータとしての意味を持たせず,一定の方式(通常は1 行目に項目名,2 行目以降にデータ)で入力する。その際に,数値データは(単位を付けず)数値として,日時データは日時として解釈できる文字列(例えば2013/07/01 12:34:56)として入力する。保存は,CSV などの軽いファイル形式にするのが望ましいが,Excel 形式(特に*.xlsx)で保存しても,オープンソースのライブラリ(例えばR のXLConnect)を利用して,CSV と同様に読めることが多い。以上の作業に,技術的に難しい箇所はまったくなく,むしろ作業時間は減るはずである。いったん機械可読な形式で保存できれば,同じデータを人間が何度も再入力しなくても,さまざまな形での解析が可能になる。このことは,情報教育の中で何らかの自動処理を体験していれば,想像に難くない。
というわけで、EXCELを使うためには
- 関数をすべて自分で定義してテストしてから使う。
- セル結合・罫線・文字飾りなどの視覚的効果にデータとしての意味を持たせない
- 特にEXCELが用意している関数をそのまま使うと検証できない
- ソースコードは公開する
- 関数電卓はCannonを使い、検証する。
やけに内部演算精度が高い関数電卓:キヤノン F-718SA - 一度電卓で打ってみる(ネットでは評判が悪いが。)
- 十進計算はCOBOLを使う(非現実的だが)。二進化十進法(BCD)を使えるため、十進計算ですら悩むEXCELはお呼びではないのである。
といった対策をしないと、国の運命を誤らせてしまうようだ。