Excelのマスタ管理とは?作成・別シート反映まで解説【データ一元管理】

- 「Excelで同じ商品名を何度も手入力している…」
- 「手入力の表記揺れで集計やフィルターが正しく機能しない…」
- 「単価や名称の変更が発生したときの個別修正が面倒…」
これらの問題は、
本記事では、
目次
マスタデータ管理とは
マスタデータ管理 とは、
マスタテーブルはデータベースの構成要素の1つで、
リスク:手入力運用で発生するデータの不整合
マスタ管理を行わず、
- 表記揺れの発生 :同一商品や同一取引先に対して「株式会社」
「(株) 」 やスペースの有無など 異なる文字列が入力される可能性 がある。 その場合、 ピボットテーブル等の集計やフィルター抽出が正しく動作しなくなる。 - データの不整合 :同一の管理番号に対して異なる商品名や単価が手入力され、
データベースの整合性が壊れる 。 - 変更時の一括更新不可 :単価や名称が変更された際、
関連するすべてのシートのデータを個別に修正する必要が生じる 。 修正漏れの原因になる。
Excelにおけるマスタ管理の構成・データフローは、
マスタテーブルを作成するときに重要となる、
1レコード1行・1項目1列のデータベース原則
Excelの表をマスタテーブル(データベースのテーブル)
- 1行1レコード :1つのエンティティ(1件の商品、
1社の取引先) に関するすべての情報を1行に集約する。 セルの結合は禁止。 - 1列1項目 :1列には単一のデータ属性(「単価」
列には数値のみ、 「登録日」 列には日付型のみ) を配置し、 文字列と数値の混在を排除する。 - 見出しの単一化 :シートの1行目のみを見出し(フィールド名)
とし、 2行目以降にデータレコードを記入する。
主キー(商品コード・顧客IDなど) の作成ルール
主キー(プライマリキー)
主キーの設定には以下の要件を満たす、
- 重複禁止 :重複する値が存在しない文字列または数値を割り当てる。
- 固定値を記入 :行の並び替え・フィルタリング等で値が変わらないように、
関数の使用は非推奨。 - 左端の列に配置 :可能な限りテーブルの一番左の列(第1列)
に配置する。 VLOOKUP関数は検索範囲の左端列を検索する仕様のため。
マスタテーブルの例
マスタテーブルの例としては、
【テーブル名:M_商品】
| 商品コード (主キー) | 商品名 | 単価 |
|---|---|---|
| 1 | ノートPC | 120,000 |
| 2 | 外付けHDD | 15,000 |
| 3 | 液晶モニター | 25,000 |
以降の作成手順では、
実際にExcelでマスタテーブルを作成する具体的な手順を解説します。
データ入力
主キーのオートフィル入力
テーブルへ変換
(推奨)
意図しないデータの入力を防ぐために、
- 適用する列(見出しを除く)
を選択する - [データ] タブの [データの入力規則] をクリックする
- 列に指定したいデータ型を 入力値の種類 で指定する。
[リスト] を選択すると、 セルにドロップダウンリストを設定できる - 例:「株式会社」
と「(株) 」 の混在を回避できる
- 例:「株式会社」
【注意】テーブル名・列名の変更は慎重に
テーブル化すると、
一方で、
複数のブックで同じマスタデータを参照する場合は、
注意点:外部マスタブックの保存場所とパス指定
マスタデータを格納している外部ブックのファイル名は固定しておく必要があります。
ファイルのパス(保存場所)
- 絶対パスでの運用 :ドライブ名やサーバーのフルパス(例:C:\MasterData\ProductMaster.xlsx)
で接続経路を固定する。 ブックの保管場所が恒久的に変更されない環境に適している。 - 相対パスでの運用 :現在のブックから見た相対的な位置関係(例:同一フォルダー内など)
を維持して接続する。 フォルダー構成や配置変更を行わないことが前提。 ブックを別環境へ移動させる場合は、 マスタブックと利用先ブックをフォルダーごと一括で移動させる。 - ただし、
Power Queryでの設定に工夫が必要になる
- ただし、
設定手順:Power Queryによる外部マスタの取得と配置方法
Power Queryを使って、
データ更新:マスタデータ変更時の更新操作
数式・関数とは異なり、
更新操作 :[データ] タブの [すべて更新](ショートカット:Ctrl + Alt + F5)
自動更新・データ容量削減の設定
更新漏れを防ぎたい場合やブックのデータ容量を削減したい場合は、
設定画面の表示方法
設定内容
-
[ファイルを開くときにデータを更新する]:ON
- ブック起動時にデータの更新を自動で行う。
更新漏れを防止できる。
- ブック起動時にデータの更新を自動で行う。
-
[ブックを保存する前に外部データ範囲からデータを削除する]:ON
- ブック保存時に、
Power Queryで読み込んだデータをブック内に保持しない。 ブックのファイル容量を最小限に抑えられる。 - ※ [ファイルを開くときにデータを更新する] のONが必須。
吉峰他のユーザーにブック単体を配布/送付し、
外部マスタにアクセスできない環境でデータを表示させる必要がある場合は、 データ削除の設定はOFFにしてください。 - ブック保存時に、
ブック内にあるマスタテーブル(またはPower Queryで取得したコピー)
関数:XLOOKUP/VLOOKUPによる自動転記
XLOOKUP 関数や VLOOKUP 関数の「範囲」
構文
=XLOOKUP(検索値, 検索範囲, 返される範囲, [見つからない場合], [一致モード], [検索モード])例:=XLOOKUP($A3,M_商品[商品名],M_商品[商品コード],"該当なし")
例えば、
- 検索範囲:マスタテーブルの「商品コード」
列 - 返される範囲:マスタテーブルの「商品名」
列
を指定すれば、
リスト:データの入力規則によるプルダウン作成
マスタテーブルの列をプルダウンリスト(ドロップダウンリスト)
設定手順
- ドロップダウンリストを設定したいセル範囲を選択する
- [データ] タブ > [データの入力規則] をクリックする
- [設定] タブの「入力値の種類」
で [リスト] を選択する - 「元の値」
ボックスに、 マスタテーブルの列を参照する数式を入力する - テーブル参照時の定義方法 :=INDIRECT("商品テーブル[商品コード]") を入力する
書式:条件付き書式による入力エラーの視覚化
マスタテーブルと照合し、
設定手順
- 色付けしたいセル範囲を選択する
- [ホーム] タブの [条件付き書式] > [新しいルール] を選択する
- ダイアログで [数式を使用して、書式設定するセルを決定] を選択する
- 数式を入力する。
- 例:=COUNTIF(M_商品[商品名],$B3)=0(アクティブセルが B3 の場合)
- 例:=COUNTIF(M_商品[商品名],$B3)=0(アクティブセルが B3 の場合)
本記事の要点は以下の3点です。
- マスタ管理の目的 :データを一元化してデータ間の齟齬を排除し、
手入力による表記揺れや修正漏れを防ぐ。 - 外部マスタの参照手順 :Power Queryで外部ブックと接続し、
利用先ブック内にテーブルとして配置する。 データの反映には「更新」 操作が必要。 - マスタデータの活用 :XLOOKUP関数での自動転記、
プルダウンリストでの入力候補、 条件付き書式でのエラー検出に使用できる。
Excelをデータベースとして機能させるには、














