「Excelでデータベースを作ろう」という目的に対して、どのようなことをすればよいのでしょうか?今回のデータベースは、「別のファイルに入っているデータとの間でリレーションを持っている」という特徴があります。仕事でたとえるなら、顧客名簿がすでにあって、それと関連づけた注文リストのデータベースを作成する、といった状況になります。
そこで考えつくのが、Excelの参照機能です。たとえば、Book1.xlsのsheet1のセルA1は、
=[Book1]Sheet1!$A$1 |
で参照できます。Book1の内容を変更すれば、参照しているセルの内容も変更することができます。
一方で、Excelでデータベースのような利用の仕方をしたときに非常に便利な機能があります。「オートコンプリート」です。これは、セルを途中まで入力した時、同じ列で今までに入力したデータの中で一致するものが一つだった場合に、そのデータを最後まで補完してくれるものです。
オートコンプリートは、データ入力の効率化に非常に役立ちます。私も、この機能にどれだけ助けられたかわかりません(涙)
しかし、ここで問題が発覚しました。参照機能を使うと、オートコンプリートを使えないのです。入力されているのが値ではなく式なので仕方ないのですが、かなり入力効率が起きます。
そこで、今回は、データベース機能を作成するために、
ことを目標とします。
この機能には汎用性がありますから、今回のプロジェクトだけではなく、何回も使いたくなるかもしれません。出来るだけ簡単に何度でも使いたいのです。そこで、
という補足目標も設けることにしました。
今後は、これをどう実装するのか、という話に移るのですが、その前に、再利用可能性を高めるために必要な考え方について次章で検討してみることとします。