Excel

人にとって美しいデータを作るな【#Excel #プログラミング #初心者】

さて、データが揃ったぞ。

見やすいように体裁を整えておこう。

なんてことをしていませんか?

データを見やすく整頓しておくのはさぞ気分のいいことでしょうが、
今すぐやめてください。

データをきれいに整えたのは何のため

あなたが次使うときのためですか。
他の人が見たときに分かりやすいようにですか。

なるほど、確かに大事なことです。
見やすいデータというのは、他に説明をつける必要もないので、
あとから見返しても、他の人が見ても都合のいいものでしょう。

ですが、それを使うのは本当に次のあなたですか。
他の人ですか。
そうではないはずです。
よく考えてください。

そのデータを使うのは、次のあなたが使うコンピュータのはずです。
他の人が使うコンピュータのはずです。
データを使うのはコンピュータであって人間ではありません。
もしあなたが、あなた自身がデータを使っているというのなら、
今すぐに改めてください。
さもなくば、可及的速やかにコンピュータを
溶鉱炉に投げ込んで金輪際手に触れないようにしてください。
あなたには過ぎた代物だ。

人にとって美しいデータ

人にとって美しいデータは、コンピュータにとってはなんの役にも立ちません。
コンピュータには人間にとっての美しさなどわかりません。
コンピュータにとって美しいデータは、コンピュータにとって扱いやすいデータに外なりません。

お分かりいただけたでしょうか。
お分かりいただけたあなたは素晴らしい
これからは心を入れ換えて、コンピュータフレンドリーなデータを揃えていってください。

お分かりいただけなかったあなたは残念です。
ですが、ご安心ください。
コンピュータフレンドリーなデータがどんなものか、わかりやすく説明します。

コンピュータフレンドリーなデータ構造

ここに、2つの表を用意しました。

表1

表2

さて、どちらがコンピュータにとって美しい表でしょうか。
あなたにはもうお分かりですよね。
ではどちらかを選んでみてください。

 

 

 

 

 

 

選びましたか。

 

 

 

 

 

 

正解は表2です。

どうですか。正解でしたか。

正解だったあなたは、素晴らしい
コンピュータフレンドリーなデータの何たるかをよく理解できています。
謙虚にもまだ自分にはコンピュータフレンドリーなデータが理解できていないのではないかと思っていたようですが、心配ありません。
あなたは、コンピュータフレンドリーなデータのあり方を理解できています。
これからも励んでください。

不正解だったあなたには、これから説明します。

列が違うということ

表1と表2、決定的に違うのは一体何でしょうか。改めて出してみます。

表1

表2

データが縦に並んでいるか横に並んでいるか?
なるほど、それも一つの観点ですが、そこではありません。

異なる列に同じ性質のデータが含まれているということです。

本来、家族という情報には、順番がありません。
家庭内の力関係とかはあるのかもしれませんが、一般的に優劣はありません。

にもかかわらず、表1は家族1~家族4という別々の列に同じ性質の情報を格納しています。

一般的にコンピュータにとって、違う列に入っているデータというのは、違う性質のデータであるという前提が含まれます。
そのため、何かしらのプログラムで扱おうとすると、表1のような構造のデータは大変扱いにくいものになります。

見た目には表1の方が各人の家族構成が分かりやすいと思いますが、コンピュータにとっては大した意味はないどころか、かえってわかりづらくしてしまっています。

最大の問題は、可逆性にあります。

コンピュータフレンドリーなデータをユーザーフレンドリーにするのは簡単です。
しかし、ユーザーフレンドリーなデータをコンピュータフレンドリーにするのは極めて困難です。

今回の例は比較的簡単な方なので、問題は少ないですが、途中に空行が入っていたり集計列や行が入っていたりセルの結合があったりタイトルが入っていたりと扱いを難しくする要素は枚挙に暇がありません。
なるべく表2のようなコンピュータにとって美しいデータ構造にしましょう。

あとがき

さて、ここまででコンピュータにとっての美しいデータのあり方は理解してもらえたでしょうか。

人間にとって美しいデータを作ることは、紙での作業をコンピュータ上で再現しているのとほぼ同じことです。それが好きなら溶鉱炉です。

文明の利器を文明の利器として活用できるかどうかも現代人に求められるスキルです。毛嫌いせずに、まずはあなたの周りにあるデータを眺めてみましょう。

原始人はそこにいますか。