【Excelでデータベース】本格的なシステムと同じ構造にしよう

2021年7月23日

Excelでデータベースを作る方法を知りたいですか?

数万行程度のデータ量であれば、Excelで済ませたくなりますよね。

ただ、なんとなく作り始めると途中で問題に気づき、作り直しになってしまうかもしれません。

私の推奨はこれです

「本格的なデータベースシステムと同じ構造にする」

データベース用のシステムを導入したことがあるのですが、データを取り出しやすくするためにいくつか制約があります

Excelのデータベースが失敗しやすいのは、Excelは制約が少なく自由に作れてしまうからです。

データベースようなシステムと同じような制約を決めて、失敗しにくいデータベースを作りましょう。

本格的なシステムに近づける3つのポイント

データ構造(項目名/方向/No.)

  • 1行目に項目名を入れる
  • データは縦方向に増やしていく
  • 左端にNo.を入れる

本格的なシステムに近づけるためには、上の項目に沿ってデータベースを作成してください。

1行目には項目名を入れましょう。
どこにデータを入れるか決める意味もありますし、テーブル機能やマクロで検索する際のトリガーにもなります。

データは必ず縦方向に増やします。横方向だとデータの検索ができなくなるからです。

左端にはNo.を入れます。全く同一のデータがあった場合でも、このNo.があれば別データだと分かります。

データ形式を統一する

データの文字形式などを必ず揃えましょう。
例えば、半角全角などが違ってしまうと検索ができなくなります。

気を付けておきたいポイントとしては、次のようなことがあります。

  • 半角全角
  • 単位を入れない
  • ハイフンの有無(品番や型番など)

特に姓名の間のスペースは半角全角が混じりやすく要注意です。
入力ミス防止も考えて、姓名を別の列に分けるのも有効です。

データベースのシートで検索しない

データの検索はデータベースではなく、別のシートから行います。

データベースのシートを編集してしまうと、データが破壊されるリスクが出てきます。

下記のようなExcel関数を用いて、別のシートからデータを検索しましょう。

  • vlookup
  • countif
  • countifs
  • sumif
  • sumifs

例えば、countif関数を用いて年齢が30歳以上の選手を数えると次のようになります。

この例ではDBシートの年齢(D列)が30歳以上のデータ数をカウントしています。

データシート自体に計算式を書いたりせず、別シートから情報を取得しましょう

データベースのシートを使いたい場合

Excel関数は1つのデータしか表示できないという課題があります。(スピル除く)

どうしてもフィルタなどを使って検索したい場合は、使用が終わったらフィルタを外し、データを編集しないように注意しましょう。

筆者おすすめのExcel本はこちらです。

created by Rinker
技術評論社
¥1,694 (2021/10/18 12:46:16時点 Amazon調べ-詳細)

他の「Excel」の記事はこちらからどうぞ

Excel

Posted by やろまい