「商品マスタと売上明細を商品コードで突き合わせて、売上明細に商品名や単価をくっつけたい」。こういう作業、毎月のように発生しますよね。
これまでは VLOOKUP や XLOOKUP で、明細の行数分だけ数式を引っ張って対応していたはずです。でも明細が1万行を超えると重くなったり、列を足すたびに数式を直したりと、地味に手間がかかります。
そんな「2つの表をキーで結合する」作業を、関数なしでこなせるのが Power Query のマージ(結合)機能 です。元データを差し替えて「更新」ボタンを押すだけで、何度でも同じ突合をやり直してくれます。
この記事では、Power Query のマージの基本手順を、商品マスタと売上明細を例に解説します。あわせて、つまずきやすい 結合の種類(左外部結合・内部結合など)の違い も図解で整理するので、「どれを選べばいいの?」で迷わなくなります。
なお本記事は Windows 版 Excel(Microsoft 365 / 2019 / 2021 / 2024) での操作を前提にしています。
Power Queryのマージとは?VLOOKUPとの違い
Power Query のマージとは、 2つのテーブルを共通のキー列で横方向に結合する機能 です。VLOOKUP でいう「検索キーで別表から値を持ってくる」処理を、関数を1つも書かずに実現できます。
たとえば「売上明細」に商品コードしか入っていないとき、「商品マスタ」から商品名・単価を引っ張ってきて、明細の右側にまとめて追加する。これがマージのイメージです。
VLOOKUP・XLOOKUPとの3つの違い
同じ突合でも、関数とマージでは仕組みが大きく違います。実務で効いてくるのは次の3点です。
- 行数分の数式が不要: 明細が1万行でも10万行でも、貼り付ける数式はゼロ。重くなりません
- 列が増えても直さない: マージはキー列名で結びつけるので、マスタに列が増えても操作のやり直しは不要です
- 更新ボタンで再実行: 翌月の明細に差し替えて「すべて更新」を押すだけで、突合済みの表が再生成されます
VLOOKUP の基本を先に押さえたい方は ExcelのVLOOKUP関数の使い方 もどうぞ。少量データなら関数、大量・定期処理ならマージ、という使い分けが基本です。
縦結合(追加)との違い
Power Query には「追加」という別の結合もあります。こちらは同じ列構成の表を 縦に積み上げる 機能で、部署別シートを1枚にまとめるときに使います。
「縦に積む=追加」「横にくっつける=マージ」と覚えておけば混乱しません。縦結合は Excel Power Query入門|コピペ集計を卒業する4つの自動化レシピ で扱っているので、まだの方はそちらから読むとスムーズです。
マージの前に押さえる「結合の種類」を図解
マージのダイアログには「結合の種類」を選ぶ欄があります。ここがマージ最大のつまずきポイントなので、先に整理しておきましょう。ちょっとむずかしく見えますが、考え方はシンプルです。
結合の種類とは、 「キーが一致しなかった行をどう扱うか」のルール です。よく使う4つを表にまとめます。
| 結合の種類 | 残る行 | 主な用途 |
|---|---|---|
| 左外部結合 | 左の表は全部残す | 売上明細を軸に商品情報を付ける(最頻出) |
| 右外部結合 | 右の表は全部残す | マスタ側を軸にしたいとき |
| 内部結合 | 両方に一致した行だけ | 両方に存在するデータだけ抽出 |
| 左反 | 左にあって右にない行だけ | マスタ未登録の商品コードを洗い出す |
迷ったら「左外部結合」でOK
実務でいちばん多いのは 左外部結合 です。「明細(左)を全部残したまま、マスタ(右)の情報をくっつける」という、VLOOKUP とまったく同じ発想だからです。
マスタに載っていない商品コードがあっても、明細の行は消えずに残り、商品名の欄が空(null)になるだけ。だから「データが勝手に減った」という事故が起きにくいんです。
内部結合と左反の使いどころ
両方の表に存在するデータだけを取り出したいなら 内部結合 を選びます。たとえば「アクティブ会員かつ今月購入あり」のように、両方の条件を満たす行だけを残したいときに便利です。
逆に 左反 は、突合チェックに使えます。「明細にあるのにマスタに未登録の商品コード」を一発で洗い出せるので、データの不整合チェックにぴったりです。
Power Queryでテーブルをマージする手順【4ステップ】
それでは実際に、売上明細に商品マスタの情報をくっつけてみましょう。流れは4ステップです。
ステップ1:2つの表をテーブルにして取り込む
まず「売上明細」と「商品マスタ」をそれぞれ Excel の テーブル にします。範囲を選んで Ctrl + T を押し、「先頭行をテーブルの見出しとして使用する」にチェックして OK です。
次に、各テーブル内のセルを選んだ状態で「データ」タブ →「データの取得と変換」→「テーブルまたは範囲から」をクリックします。Power Query エディターが開いたら、すぐに「閉じて読み込む」の下矢印 →「閉じて次に読み込む」で 接続専用 として読み込んでおきます。これを2つの表それぞれで行います。
ステップ2:マージダイアログを開く
「データ」タブ →「データの取得」→「クエリの結合」→「結合」を選びます。マージ専用のダイアログが開きます。
上段のドロップダウンで 左の表(売上明細) を、下段で 右の表(商品マスタ) を選びます。
ステップ3:キー列を指定して結合の種類を選ぶ
上下それぞれの表で、 結合キーにする列(ここでは商品コード)の列ヘッダーをクリック します。上下とも同じ意味の列を選ぶのがポイントです。
その下の「結合の種類」で、先ほど解説した中から選びます。まずは 左外部結合 でOKです。ダイアログ下部に「○件中○件が一致しました」と表示されるので、一致状況をここで確認できます。
ステップ4:必要な列だけ展開して読み込む
OK を押すと、明細の右端に テーブル型の新しい列 が追加されます。列ヘッダー右の展開アイコン(左右の矢印)をクリックすると、商品マスタのどの列を取り込むか選べます。
「元の列名をプレフィックスとして使用します」のチェックを外すと、列名がスッキリします。必要な列(商品名・単価など)だけにチェックして OK を押し、最後に「閉じて読み込む」で Excel シートに出力すれば完成です。
マージしたクエリを毎月使い回す
マージの本当の威力は、ここからです。一度組んだクエリは、 元データを差し替えるだけで何度でも再利用 できます。
翌月になったら、売上明細テーブルの中身を新しい月のデータに入れ替えます。あとは「データ」タブ →「すべて更新」をクリックするだけ。マージ済みの突合表が自動で作り直されます。VLOOKUP のように数式をコピーし直す必要はありません。
集計までつなげたいなら、マージ後にグループ化を重ねるのが定番です。商品ごと・月ごとの合計を出す方法は Power Queryのグループ化で集計する方法 で解説しています。「マスタ突合 → グループ化集計」の合わせ技で、毎月の集計レポートがほぼ自動になります。
複数ファイルをまとめてから突合したい場合は Power Queryでフォルダ内の複数ファイルを結合する方法 も参考になります。
うまくいかないときの対処法
最後に、マージでつまずきやすい3つのケースと対処法をまとめます。
キーが一致せず商品名が空(null)になる
いちばん多いのが「一致するはずなのに空欄」というトラブルです。原因の多くは キー列の見えない違い です。
- 前後に余分なスペースが入っている
- 片方が文字列、片方が数値になっている
- 全角と半角が混ざっている
対処法は、両方のキー列のデータ型をそろえることです。エディターで列を選び「変換」タブ →「データ型」で型を統一し、必要なら「変換」タブ →「書式」→「トリミング」で余分なスペースを除きます。
1つのキーに複数件ヒットして行が増える
マスタ側にキーの重複があると、その分だけ行が掛け算で増えてしまいます(意図しない行数の膨張)。
マスタはキーが一意になっているのが前提です。重複が疑われるときは、マスタ側のクエリでキー列を選び「ホーム」タブ →「行の削除」→「重複の削除」で整理してからマージしましょう。
マージしたいクエリが選択肢に出てこない
マージダイアログの選択肢に表のクエリが表示されない場合、その表が クエリとして読み込まれていない のが原因です。
ステップ1に戻り、対象の表を「テーブルまたは範囲から」でクエリ化してください。Power Query のマージは「クエリ同士」を結びつける機能なので、シート上の表をそのまま指定することはできません。
まとめ:突合は「左外部結合」から始めよう
Power Query のマージを使えば、VLOOKUP で行数分の数式を引っ張る作業から卒業できます。最初の一歩は、 左外部結合での明細×マスタ突合 がおすすめです。
理由はシンプルです。
- VLOOKUP と同じ発想なので理解しやすい
- 左の明細が消えないので事故が起きにくい
- 更新ボタン1クリックの再利用性をすぐ体感できる
慣れてきたら内部結合や左反も使い分けて、データチェックや抽出にも広げてみてください。
「関数・マクロ・Power Query・Power Automate のどれを選ぶべきか」で迷ったら、Power Queryと関数・VBA・Power Automateの違いと使い分け で4つの手段を比較しています。Power Query 全体の地図を確認したい方は Power Query完全ガイド もあわせてどうぞ。
毎月の突合作業をラクにする第一歩、今日のうちに試してみてください。
