Excelを使っていると全く感じないことなのですが、逆に言うとそれだけExcelが優秀なソフトだということなのですが。
何のことかと言うと、普通、コンピューターにデータを入れていったり、入っているデータを削除したり、データを更新したり、項目を追加したり削除したり、といったことはコンピューターにとって、とても負担になることのはずなのです。
配列を使うプログラムを作成したことがある人は分かると思うのですが、Excelの場合、縦横にとても大きな範囲に表を作ることができるので、事実上、無限に表を作ることができるように感じます。
しかし、プログラム的に考えてみると、これはとても危険な話で、セルA1とセルE10の2つのセルにしかデータを入れなくても、データが入っている、入っていないに関わらず、データ量としては1番左上に入力されているデータから、一番右下に入力されているデータまでのセル全てにデータが入っているのと同じと考えるので、全部で50個のデータを格納する領域が必要だと考えます。
でもその辺りはきちんとExcelは判断して格納する領域を入力されているセルだけにすることができるようになっているようでそこはあまり意識しなくてもExcelは使いこなすことができます。
でも、本当はデータとデータの間に無駄な隙間を入れるというのはコンピューターへの負担にどこかでなっているのではないかなと思っています。
プログラムでExcelのような表を作るのであれば、かならず最初に縦横いくつの表と定義します。もしデータベース形式で項目名が決まっているのであればあらかじめどの列がどの項目かというのも決めておきます。さらに、その中に入るものが数値なのか文字なのかということも厳密に設定します。実は整数と小数点以下を含んだ数字と文字のデータでコンピューターに対する負担のかかり方がまったく違うのです。整数よりも小数点以下を含んだ数字、それよりも文字データが大きくなります。C言語だと文字データの最大文字数も設定することになります。本来このように厳密に使う個数と使うものの大きさをコンピューターがコンピューターの使い方なのです。
それをうまくやってくれるのは、Excelがとんでもなく優秀であるのと、コンピューターに搭載されるメモリの量が爆発的に増えたことがあります。
昔のコンピューターでは、メモリはとても小さく、 横10個縦10個の領域しか扱えないというものもあり、メモリをいかに使わないで業務を行うのか、そういうプログラムを作ることに大変な努力をしました。
Excelに話を戻すと、Excelを使う時にも、そのようなメモリに負担をかけない使い方が、むしろ今からのExcelの使い方として重要な気がしてなりません。
それはコンピューターが、ずっと昔からのコンピューターの使い方で使うようにできているからだし、Excelもそのような考えのもとに作られているものだからです。
一覧表の項目は一回決めてしまったらよほどのことがない限り、変更してはいけないと思います。これは昔のコンピューターの使い方であれば、データを縦横いくつと決めてメモリを節約したというのに、後からその約束を破って、大規模なプログラムの修正を行い、その修正がきちんと動いているかどうかのチェックまでしなければいけないという、ものすごく負担のかかる話なのです。
このようにコンピューターの使い方はデータが既に入っている一覧表に項目を入れ忘れたからといって後から追加する、ということをすることを想定していません。もし項目を足した場合、これから入力するものはその項目が入力されていくと思いますが、今まで入力されたデータに関してはその項目はどうするのでしょうか。空欄のままにするのでしょうか。それをどうするかの方針も決めずにただできるからといって手軽に項目名を追加するということはExcelとしてもあまり良くない方法だと思います。
正しくExcelを使うには、一覧表形式のデータは、1行目に項目名を、1列に1項目を、1行に「なにが」「いつ」「どうした」を記録していくというデータベース形式であること。その上で出来るのであればテーブルに設定することがExcelにとっても優しい使い方になってくるのではないかと思います。
もちろん、一覧表形式ではないレイアウトのセルもあると思いますが、その場合も離れたセルにバラバラに配置するのではなく、同じような情報を一つのグループとして一箇所にまとめて配置すると良いのでしょう。
複数の一覧表を一つのシートにまとめるには、それぞれの一覧表の上下左右に1行1列以上の隙間が必要になります。メモリの節約だと言って、この隙間をなくすことはできません。この隙間は必要な隙間です。それ以前にひとつのシートには一つの一覧表だけを配置するというのもExcelにとっては優しい使い方になってくるのではないかと思います。
何も考えずにExcelを使っていると、Excelにとって負担のかかるような構造になってしまうことがあるのかもしれません。
だから、できることとはいえセル結合や1つのセルに複数の情報を入れることはExcelでは推奨されないやり方として広まっているのかもしれません。でもそのようなやり方を必要最小限に留めることによって、Excelにとってもやさしいし、人間が使う場合にも人間にとってやさしいものが出来上がるのではないかと思います。
私の目指している、業務ツールの短時間の作成の為にも、このような使い方の知識を持つということは大事なことだと思っています。
コンピューターを、Excelを、優秀で手放せない部下だと思って、大事にやさしく、かつ、できることを最大限に使うというのが、うまい使い方なのではないでしょうか。
人間はいろいろな性格やキャラクターがあります。それはその人それぞれの魅力でもあるのですが、コンピューターを使う時だけは、やさしく、紳士的であることが求められているような気がします。
コメント