見出し画像

ExcelTips(For Beginners)~データベース的思考2~

前回はテーブルを作りましたので,今回はテーブルにどのようにデータを格納するのかをお話しします。

おさらい

・データは1行ごとにまとめる。
・セル1つに1つのデータ。

でした。あとはセルの連結をしたり,余計の装飾はしない事です。罫線についてはExcelの枠線を表示すれば問題はありませんが,罫線があったほうが見やすいかと思います。とにかく,シンプル・イズ・ベストです。

データの分割

セルに納めるデータは,できるだけ細かく分割した方が便利です。
たとえば"阿部 円"という氏名があったとします。「氏名」というフィールドに"阿部 円"と格納してもいいのですが,私は"阿部”と”円"に分割してそれぞれ「氏名(姓)」,「氏名(名)」というフィールドを作って格納することをお勧めします。

ExcelTips(データベース思考~分割)

というのも2つのデータを連結するより,分割する方が難しい(めんどうくさい)からです。この場合,氏名から姓や名だけ取り出したいとき,その区切りの判別から始めなければなりませんが,分割したデータから"阿部 円" というデータを得たければ&演算子や関数を使えばすぐ得られます。後々の使い勝手を考えれば分割できるものは分割する,というポリシーを推します。

他に実例として住所などがあります。

ExcelTips(データベース思考~分割2)

上図上テーブルのように一つにまとめるより,下テーブルのように「都道府県」「市区町村」「町域」「番地」「建物」に分割すると,フィルタをかけるときに条件付けがやりやすくなります。また,この分割方法は日本郵便の郵便番号データに準じていますので,郵便番号を使った住所入力支援を作成することもできます。

ExcelTips(データベース思考~郵便番号)

ExcelTips(データベース思考~郵便番号2)

データそのもので識別

表(テーブル)を作成して,分類したりすることも多いかと思いますが,その際,字体や色などの属性で分類するのは止めましょう。並べ替えや抽出を機械的に行う際,困難がつきまといます。かならず装飾ではなく,セルに納めたデータの違いによって識別できるようにしましょう。そのためにも前述のデータを分割して格納することは重要になります。

これ以上分割はできないが,どうしても区別しておきたいレコード(行)が存在する場合は,その区別のためのフィールド(項目,列)を追加しましょう。

たとえば印刷するレコードを区別したいときなど,「印刷」というフィールド(項目)を作って,そこに印刷するなら"1",そうでなければ"0"を格納します。(こういう目印をフラグといいます)

まとめ

・データはできるだけ分割
・装飾をしない

つづく

この記事が気に入ったらサポートをしてみませんか?