- Excelでデータを効率的に管理するには、データベースの視点が重要です。
- 1つのシートには1つの表を作成し、1行に1つの項目を記録するようにします。
- 必要に応じてテーブルを増やしたり、フィールドを追加したりして、データの整理と構造化を行います。
1. 印刷とデータ管理を分ける
Excelは、「表計算ソフト」です。
並んだマス目に自由に入力していくことができます。
しかし、それだけでは管理しやすい表にはなりません。
Excelでデータをスムーズに管理するには、「何を項目にするのか」というデータベースの視点が大切です。
データベース設計では、印刷時の見栄えではなく、記録する情報の性質に注目していきます。
まずは、一つのシートには、1つの表だけを入れます。
さらに、表は 1行に1つの項目になるようにします。
1-1. 空行やセル結合などの「見た目」は後回し
空行を混ぜたり、セルの結合などをすると、(たとえ見やすくても)集計しにくくなります。
データ管理は日常的に発生しますが、印刷は必要なタイミングが限られていること(月に一回など)が多いです。
必要なときだけ印刷用に体裁を整えた表を作るのがオススメです。
1行のデータが、1件の記録(レコード)になるようにすると、あとあと管理しやすいです。
2. データベース設計(表の構成を考える)
よく計画せずに表を作っていくと、例外や重複などでどこに記録したらよいかわからなくなります。
そこで、表作りでは、事前の計画や途中の見直しが大切になります。
「データベース」では、情報を管理しやすいように整理・構造化してまとめます。
まずは、大事な観点が2つあります。
1つ目は、「何を」リストとして管理するのか?という点です。
商品なのか?注文なのか?在庫なのか?
管理する対象、エンティティ(実体)を明確にしていきます。
明確にしたエンティティごとに、1つのシートを作成し表を作るのが基本です。
エンティティ → テーブル → シート
これを意識しないと、1つの表であれこれ管理しようと詰め込んで、収拾がつかなくなってしまうんですよね。
次は、「エンティティ」に対して、必要な記録項目を決めていきます。
これが「属性」です。
表作成においては、フィールド(列)を追加していきます。
属性 → フィールド → 列
データベースの考え方を、実際の表作成に落とし込んでいきます。
2-1. 必要に応じてテーブルを増やす
業務に必要な情報は、一つのテーブルでは収まらないことが多いです。
管理する対象(エンティティ)が複数なら、複数の表が必要になってきます。
例えば、「注文履歴」には、商品が含まれますが、
「商品情報」はそれとは別の表にまとめた方がよいです。
これは、注文と商品で管理するもの(エンティティ)が違うからです。
整理してみると、2つの表に分けた方がよい場合があるのです。
2-2. フィールドを追加して同種の表をまとめる
反対に2つに分けて印刷する表でも、データベースとしては1つにまとめた方が管理しやすい場合があります。
表を区別している属性を、フィールドとして追加すると、一つのテーブルにまとめることができます。
印刷するときには、「プラン」でフィルターしてから、列を非表示にすれば、それぞれのリストを作ることができます。
印刷時には、Excelの「フィルター」や「列の非表示」を活用する。
2-3. フィールドを追加して複数項目に対応する
1つのセルに複数の値があると、編集・集計しにくくなってしまいます。
この場合は必要に応じて、フィールド(列)を追加します。
このような「マルチカラムアトリビュート(複数列属性)」は、どんどん列を増やす必要があるため、保守性は悪いです。しかし、手軽ではあります。
リレーショナル・データベースの王道を行くなら、家族会員は別の表で一覧にして、属性として「顧客ID」を持つようにする方法もあります。規模が大きいデータベースなら表を分けることも検討しましょう。
今回は、家族人数はそこまで幅がないので、手軽な方法を採用しています。