PR

Excelでデータベースの作成方法|データ管理の基本ルールから限界まで解説

Thumbnail for Excelでデータベースの作成方法|データ管理の基本ルールから限界まで解説
  • 「情報がファイルごとにバラバラになっているため、1か所で管理したい」
  • 「データが散らばっていて、探すのにも利用するのにも手間がかかる。既存データを活用できていない」
  • 「Excelをデータベースにしてみたいけれど、何から手をつければよいか分からない」

この記事では、Excel(エクセル)でデータベースを構築するための方法と考え方を解説します。基本は、 構造化データの要件を満たした機械が処理しやすい形式 でデータを入力することです。テーブル機能 を活用して構造化データを定義すれば、将来にわたって再利用しやすい資産 として、データを蓄積できるようになります。この記事を読むことで、 データの一元管理や活用の具体的な進め方 が明確になります。

機能とルール|Excelをデータベース化するための基本

Excelをデータベースとして扱う場合、表計算ソフト特有の自由度が不具合の原因になることがあります。

データの整合性を保つ ためには、以下の3つのポイントを遵守し、データを構造化しなければなりません。

  • テーブル機能の活用 : セル範囲を「 構造化データとして定義し、 データの再利用性を高める
  • 構造上の5つの要件不具合や誤動作を防ぐ ために守るべき、入力時の必須ルール
  • 整然データの原則 : 集計や分析をスムーズにするための「 正しいデータの持ち方
 

テーブル機能:構造化データを定義できる

テーブル機能 とは、特定のセル範囲を 構造化データ として定義する仕組みです。一貫性のあるルール でデータを保持できるため、 再利用しやすい整ったデータ を維持しやすくなります。機械的な抽出や集計に適しておりテーブルは簡易的な データベース として機能します。

テーブル化の例

セル範囲をテーブル化すると、以下のメリットが得られます。

  • フィルターボタン が自動で設定される。
  • 行を追加した際に 書式や数式が自動で拡張 される。
  • テーブル名[列名] 形式の 構造化参照 を使用でき、数式の意味が理解しやすくなる(例:=[単価]*[数量]
  • 構造化参照 を使用することで、データを追加しても 参照範囲が自動拡張 され、数式の修正が不要になる
 

5つの要件:不具合を防ぐ構造化データの必須ルール

テーブルで構造化データを定義するには、以下の 5つの要件 を満たす必要があります。

  • セルの結合禁止 : テーブル機能の中ではセル結合は不可。テーブル機能を不使用でも並び替えやフィルター、数式による参照も 正しく機能しなくなる場合がある

    セルの結合禁止
  • 1セルには1データを入力 : 1つのセルに複数の情報(例:住所と電話番号、数値と単位など)混在させない

    1セルには1データを入力
  • 1行1件(レコード)で構成各行には1件分のデータのみを入力 する。複数行にまたがる入力は厳禁。

    1行1件(レコード)で構成
  • 列見出しは重複しない : 列見出し(項目名 / フィールド名)を入れ、重複した名称を避ける。重複する場合、Excel側で自動的に連番が振られる。

    列見出しは重複しない
  • セル内改行を避けるAlt+Enterによるセル内改行は、 検索やCSV出力時に扱いづらい 場合があるため避ける。

    セル内改行を避ける
 

整然データ(Tidy Data):再利用性を高める原則

テーブルを 整然データ(Tidy Data) として作成すると、テーブル形式の変換も容易再利用しやすいデータ構造 になります。整然データの原則は以下の4点です。

  • 個々の値が1つのセルを構成する
  • 個々の変数が1つの列を構成する
  • 個々の観測が1つの行を構成する
  • 個々の観測ユニットの類型が1つの表を構成する

整然データではないデータは、 雑然データ (Messy Data) と呼ばれます。

整然データと雑然データ

整然データを使い、雑然データ形式で表示させる

整然データ は再利用しやすく、 ピボットテーブルとの相性も良好 です。
雑然データ形式 の表示に切り替えることも簡単に行えます。
表示や集計を柔軟に変更できる点 が大きなメリットです。

整然データのピボットテーブル表示

無理に整然データにする必要はない

すべてのデータを 無理に置き換える必要はありません
雑然データ には、チェックシートのように 「記入漏れを減らせる」「直感的にわかりやすい」という利点 があるためです。

吉峰
吉峰

「再利用性を重視」 「テーブルのデータは加工して使うことがほとんど」という場合は 整然データ に、それ以外は雑然データにという使い分けで良いかもしれません。

構築手順|Excelでデータ管理を始める6つのステップ

Excelでデータベースを構築する手順は以下の6ステップです。主な作業は適切な構成のテーブルを作成することで、あとはテーブル名やデータの入力規則などの細かな設定をするだけです。

STEP1

管理項目を列挙

データベースを構築するときは、まず最初に 管理したい項目を洗い出しますたとえば、日付や顧客名、金額などです。多くの場合、項目の中に 主キー を含めるのがオススメです。

主キーとは

主キー(プライマリーキー / レコード番号)は、テーブルの各行(レコード)を一位に識別する値(ID)のことです。
テーブルの中では主キーは一意の値を持ち、重複しません。
主キーを設けると、 他のテーブルとの紐づけ や、行を並び替えてから元の順序に戻すのに役立ちます。
ROWのような関数を使えると、並び替えたときに値が変わってしまうため、値として記入すること が必須です。

STEP2

項目の入力

Excelのシートに、構造化データの要件を守りながら項目名とデータを記入していきます。項目は横方向に並べ、データ(レコード)は縦方向に並べます。項目名の行(1行目)がテーブルの見出し行となり、その下の行(2行目)以降がデータ行となります。

(例)

レコード番号日付顧客名金額
12026/05/13株式会社A10,000
22026/05/14有限会社B25,000
STEP3

テーブル化

テーブル化を行うには 、以下を行います。

  1. テーブルにするセルを選択する
  2. [挿入] タブの [テーブル] をクリック(ショートカット:Ctrl+T
  3. 表示されるダイアログで、テーブル化する範囲が正しいか確認し [OK] をクリック
テーブル化の例

テーブルの作成や解除の詳細は、以下の記事にまとめています。

» Excel表のテーブル化・解除の変換手順|書式設定の消去も【データベース準備】

STEP4

(推奨)テーブル名の設定

テーブル名をわかりやすいものに設定しておくと、数式の中で構造化参照を使う際に、数式の意味を理解しやすくなります。テーブル名を設定するには、以下を行います。

  1. テーブルのセルを選択。
  2. [テーブルデザイン] タブの [テーブル名] 欄にテーブル名(例:T_売上明細を入力し Enter で決定。
テーブル名の設定
STEP5

(推奨)データ型・入力制限の設定

今後、意図しないデータを追加できないようにするために、入力規則を設定します。

適用する列(見出し以外)を選択し、[データ] タブの [データ入力規則] をクリックで設定可能です。

入力値の種類 で [リスト] を選択すると、ドロップダウンリストを設定でき、表記ゆれを防げます。
(例)「株式会社」と「(株)の混在を回避

データ入力規則(リスト設定)とドロップダウン表示

参考:» Excelドロップダウンリストの編集・別シート・選択方法【入力規則】

STEP6

ブックの保存

データを記入し、設定が完了したらブックを保存します。

データベースとして、別のブックからも参照できるようにするためには、原則として下記を固定しておく必要があります

【固定すべき項目】

  • ブックのファイル名
  • ブックの保存場所(パス)
  • テーブル名
  • テーブルの列見出し

変更は慎重に

すでにデータベースとして運用している途中で上記を変更すると、
参照リンクが切れ、データが取得できないエラーが発生します。
その場合、参照先を再設定すれば解決しますが、影響範囲が大きいと修正に手間がかかります。
多くの場所からデータを参照するようになったら、
基本的に変更できない と考えておく方が良いでしょう。

シート名、テーブルのセル・シート位置は変更しても問題ありません。
これがテーブル機能のメリットの1つで、 参照リンクが意図せず切れるリスク を低くできます。

関連機能|Excelデータベースで役立つExcel機能

Excelデータベースを実務で使いこなすための機能には、大きく分けて以下の2種類があります。

  • データの参照に関する機能 : テーブルから、必要なデータを取得するための機能
  • レコードの抽出と集計に関する機能 : テーブルの表示形式を切り替えたり、集計したりするための機能
 

データの参照

テーブルからデータを取得・参照する際には、以下の機能が役立ちます。

  • VLOOKUP / XLOOKUP / INDEX+MATCH 関数 : 検索値を指定し、該当する行から特定の項目の値を取得する。データの更新は リアルタイムブック内参照 / 小規模データ向け
  • Power Query : ブック内だけでなく、外部からも 安定して テーブルからデータを取得できる。取得時にさまざまな加工も組み込める。データの更新には特定の操作が必要。ブック外参照 / 大規模データ向け
 

レコードの抽出と集計

テーブルの表示形式を切り替えたり、集計したりする際には、以下の機能が役立ちます。

  • フィルター・スライサーマウス操作で特定条件の行のみの表示 に切り替えられる。フィルターでは並び替えも可能。

  • 集計行 : テーブルの下部に合計や平均を算出する行が追加可能。

  • ピボットテーブル : 動的に表示を切り替えながら、膨大なデータを多角的に分析できる。

  • データベース関数DSUM 関数や DCOUNT 関数などを使用し、テーブル内の条件に合うデータを集計する。

発展|Excelで複数テーブルを連携するリレーショナルデータベースの構築

一般的なデータベースシステムは、 リレーショナルデータベース(RDB) という方式が主流です。RDBは 複数のテーブルで管理し、関連付けて運用する点 が特徴です。Excelでも、テーブルを複数に分割して管理することで RDBを疑似的に再現 できます。

Excelで疑似RDBを構築し、複数のテーブルを効率的に管理するためには、以下の4つのポイントを押さえることが重要です。

  • データベース設計 の基礎
  • スタースキーマ の活用
  • テーブルの配置場所 の検討
  • テーブル間を関連付ける 方法
 

データベース設計:マスタとトランザクションの分離

データベース設計では、売上などの「イベント」と商品情報などの「属性」を分離したテーブルで管理します。

マスタとトランザクションの例
格納データテーブルの種類テーブル名のプレフィックス(接頭語)
属性マスタ(ディメンション)M_(Master)商品リスト、顧客台帳、名簿
イベントトランザクション(ファクト)T_(Transaction / Table)売上明細、入出庫履歴、ログデータ

テーブルの種類の通称はさまざま

テーブルの呼び方は文脈によって異なり、混乱しがちです。

  • テーブル設計での呼び方 :「マスタ」と「トランザクション」
  • Power Queryでの呼び方 :「ディメンション」と「ファクト」
  • Excelでのプレフィックス(接頭語)M_(Master)T_(Transaction / Table)
    • T_ はTransactionではなくTableを指し、マスタテーブル以外のテーブルに付けることが一般的のようです。

データベース設計では、テーブルを分割することを「 正規化と呼びます。正規化を行うことで、 データの繰り返しを減らして データ量の削減、 マスタデータのメンテナンスの効率化 と不整合の防止 を図れます。

 

スタースキーマ:テーブルを分けすぎない実務の現実解

データベース設計では細かい正規化が推奨されます。しかしExcelではテーブルを細かく分けすぎると、 かえって使いにくくなりがち なため、スタースキーマに従うのが基本です。スタースキーマは、トランザクションテーブルを中心にマスタテーブルが放射状の関係にある構造で、テーブル階層は親子関係のみで構成されます。つまり3階層(子孫)以上の関係は持ちません。

スタースキーマのイメージ

具体的には、 マスタとトランザクションの分割で止める のが現実解です。マスタの中からさらに別のマスタへ無理に切り出す必要はありません(正規化をあえて止めて 非正規化

正規化をとめる(非正規化)例と無理に切り出した(正規化)の例
吉峰
吉峰

Excelでは「細かく正規化」よりも、 使いやすさ・保守性・再利用性のバランス を取ることが重要です。

正規化により細かく分割しすぎると、XLOOKUPを何度も繰り返す必要があったり、Power Queryであれば データの更新漏れのリスク が生じたりと、使いにくくなるのでバランスが大切です。

分割を検討するタイミング

  • データ量が膨大で重複によるサイズ増大が致命的な場合:
    大量行のトランザクションテーブルに選択肢の少ない属性が大量にある、長い文字列が全行で重複しているなど
重複するデータ量が膨大
  • 粒度が異なる(1対多など)データを扱う場合:
    トランザクションテーブルに「日単位の列」と「月単位の列」が混在しているなど
粒度が異なる(1対多など)データを扱う場合

分割したテーブルは、データをリレーション(紐づけ)することで、1つのテーブルにまとめることができます。

 

連携方法:テーブル間を関連付ける3つのアプローチ

テーブル同士を関連付けるには、下記の方法で実装できます。いずれの方法でも、複数のテーブルの 情報を結合した1つのテーブル が得られます。

  • XLOOKUP / VLOOKUP / INDEX-MATCH 関数:単一の参照向け(リアルタイム更新重視)

    XLOOKUP関数による横結合
  • Power Query マージ:2つのテーブルの結合向け

    Power Query マージによる横結合
  • Power Pivot リレーションシップ:複数テーブルの結合向け(大量データ向け)

    Power Pivot リレーションシップによる横結合

比較|専用のデータベースシステム(DBMS)とExcelの違い

データベース とは、特定のルールに基づいて整理・管理され、検索や抽出が容易に行えるように構成されたデータの集合体です。効率的にデータを再利用できるようにすること を目的としています。

Excelデータベースと専用のデータベース管理システム(DBMS)の違いについて解説していきます。

 

データベース管理システム(DBMS)とは?

データべ-ス管理システム(DBMS) は、データベースの運用を統括するソフトウェアです。主な機能は以下の通りです。

  • データ操作(CRUD) : 登録、参照、更新、削除を制御します。
  • 不整合の防止 : 同時編集の制御や、誤った形式の登録をブロックします。
  • セキュリティと権限管理 : ユーザーごとのアクセス権限を設定します。
  • 障害復旧 : システム障害時にデータを復旧する仕組みを提供します。
 

機能比較:Excelデータ管理と専用DBMSの違い

Excelデータベースと専用DBMSの主な違いをまとめると、下記のようになります。

項目Excelデータベース(1テーブル)Excelデータベース(疑似RDB・複数テーブル)DBMS (リレーショナルデータベース)
データ構造テーブル1つ複数のシートやファイルに分散システム内で一元管理
整合性の維持簡易的な対応のみ不整合が起きやすい制約により矛盾を強力に防ぐ
同時利用1人での利用に適している1人での利用に適している大規模な同時アクセスが可能
セキュリティファイル単位の制御のみ設定が煩雑になりやすい行・セル単位の制御が可能
データ容量行数制限があり、重くなるファイルサイズが肥大化するほぼ無制限のレコードを処理できる
信頼性・復旧破損のリスクがある依存関係が複雑になるロールバック機能がある

一般的によく言われる「Excelデータベース」は、 1テーブル構成 のものを指します。複数テーブル構成 にして、Excelデータベースを疑似的にRDBにすることは可能ですが、本格的なDBMSと比較すると、やはりさまざまな機能が不足していると言えます。

デメリット|Excelデータベースの限界とリスク

Excelは表計算ソフトであり、本格的なDBMSの代替にはなりません。規模が拡大するにつれて、以下のリスクが顕在化します。

  • 容量と速度の限界動作が極端に重くなり強制終了のリスクが高まる。
  • 同時編集が困難複数人による同時更新ができずデータの消失や不整合が発生しやすくなる。
  • 参照整合性の欠陥 : 片方のテーブルを修正しても他方が自動更新されず、矛盾が生じる。
  • 人的ミスの発生 : セルの値を誤って上書きするリスクが非常に高い。
  • セキュリティの脆弱性 : ファイル全体の流出リスクが常に付きまとう。
 

参考:歴史的事例

Excelを使ってデータ管理をしていたことによって生じた問題として、2020年に英国で発生した新型コロナウイルス検査データの損失事案があります。Excelの行数制限と古いファイル形式の混用 が原因で、約16,000件のデータが失われました。

Excelは専門知識がなくても手軽に使える反面、 「データを厳格に管理すること」 に特化しているわけではありません。システム側でデータ管理をサポートしてくれる専用のDBMSと異なり、Excelでは人間が手動で運用・管理していく必要があり、 大規模なデータ・組織では課題が生じやすい 点には留意しておきましょう。

脱Excel|専用システムへの移行タイミングと検討基準

Excelでのデータ管理に限界を感じ始めたら、専用システムへの移行を検討する時期かもしれません。

以下の事象が頻発している場合は、 移行を検討するタイミング です。

  • ファイルを開く操作や計算処理に数分以上の時間がかかる。
  • 「誰かがファイルを開いていて更新できない」という不満が頻発している。
  • 参照数式が複雑化しており、メンテナンスが困難になっている。
  • データの不整合を修正する作業 に膨大な時間を費やしている。
 

判断基準:Excel管理かSaaS移行かを決めるチェックリスト

下記のチェックリストを参考に、自社に最適な管理方法を選んでみてください。

比較項目Excelで十分なケースSaaSへ移行すべきケース
主な利用者個人、または小規模チーム部署全体、全社
データ量数万行程度まで数十万行以上
更新頻度1日1回程度常に誰かが更新している
同時編集不要必須
外出先利用PCのみで完結するスマホやタブレットで利用したい
セキュリティパスワードで十分詳細な権限設定をかけたい
入力ミス防止手動チェックで対応可能システム的にブロックしたい

1つでも「SaaSへ移行すべきケース」に当てはまる場合は、専用ツールの導入を検討してみてください。

 

推奨サービス:移行先として有力な3つの候補

移行を検討する際、まずは以下の3つのサービスが有力な候補となります。

  • kintone : 専門知識不要で業務アプリを作成でき、権限管理に優れています。
  • SmartDB : 大規模データ管理や高度なワークフローが必要な現場に適しています。
  • 楽々Webデータベース : Excelの操作感を維持したまま、スムーズなWeb化が可能です。

まとめ|Excelデータベースの限界を知り正しく運用しよう

この記事では、次のことについて解説しました。

  • Excelでデータベースを構築する方法
  • Excelデータベースと専用DBMSの違い

Excelは データベース の概念を学び、 小規模な業務を効率化する ための入り口として最適です。しかし、ルールを無視した運用は 組織にとって 資産ではなく負債 になりかねません。構築時には データの構造化を徹底する ことが極めて重要です。

正しく構造化されたデータは、専用システムへの移行が必要になった際にもスムーズに活用できる貴重な資産となります。

扱うデータや使用者の規模に合わせて、 専用システムへステップアップ していくことが、 持続可能なデータ活用 を実現するための鍵となるでしょう。