Excelで大量データを突合する方法|Power Queryで2表を照合
Excelの大量データを2表で突合するときは、Power Queryのマージが使えます。左右の未登録、重複による行増加、件数検証、Excel環境の違いまで手順で説明します。
在庫一覧と倉庫から届いたCSVを毎回見比べる。行数が増えると、数式をどこまでコピーしたか、片方だけにある商品を拾えたかも確認しづらくなります。
2つの表を繰り返し突合するなら、Power Queryでキー列を指定してマージし、完全外部結合で両方の表を残す方法があります。片側にないキーだけを調べたい場合は、左右のアンチ結合を使います。結果を確定する前に、キーの重複と件数を確かめてください。
Power Queryでできること
Power Queryのマージは、共通する列の値を使って2つのクエリを結合します。複数の列を照合キーとして選べますが、左右で列の順序とデータ型をそろえます。結合の種類はマージ画面で選びます。Microsoftのマージ手順と結合種類の概要(参照日:2026-10-06)
| 結合の種類 | 結果に残る行 | 使いどころ |
|---|---|---|
| 内部結合 | 両方に一致する行 | 一致したキーの値を取り出す |
| 左外部結合 | 左表のすべてと、右表の一致行 | 左表を基準に右側の情報を付ける |
| 右外部結合 | 右表のすべてと、左表の一致行 | 右表を基準に左側の情報を付ける |
| 完全外部結合 | 左右両方のすべての行 | 両側の未登録を1つの結果で確認する |
| 左アンチ結合 | 左表にあり、右表にない行 | 左表側だけにあるキーを抽出する |
| 右アンチ結合 | 右表にあり、左表にない行 | 右表側だけにあるキーを抽出する |
結合の種類や表示名はExcelの画面で確認してください。結合種類の意味と操作はMicrosoftのクエリのマージに関する説明にあります(参照日:2026-10-06)。
商品一覧と在庫一覧を照合する例
次は手順を示すための架空データです。商品コードで2表を結合します。在庫表ではP-02が2行あり、倉庫別の在庫を記録しているものとします。
商品マスター
商品コード 商品名
P-01 ノート
P-02 ボルト
P-03 キャップ
在庫表
商品コード 倉庫 数量
P-01 東 4
P-02 東 5
P-02 西 2
P-04 東 1
商品コードだけで完全外部結合すると、P-01は一致、P-02は在庫表の2行それぞれと結合、P-03はマスター側だけ、P-04は在庫側だけに残ります。この例の結合結果は5行です。入力したマスター3行・在庫4行の単純な合計7行とは一致しません。
P-02の2行は、倉庫が違う正当な明細かもしれません。商品ごとの総在庫が必要なら、倉庫別データを商品単位に集約する業務ルールを決めてから比較します。倉庫も対応関係の一部なら、商品コードと倉庫の両方をキーにします。重複を見つけても、元データを確認せずに削除しないでください。
2表をPower Queryでマージする手順
- 元データの粒度を決める:商品単位か、商品・倉庫単位かなど、1行が表すものを確認します。
- 表をExcelテーブルにする:それぞれの表の範囲を選び、テーブルとして見出しを付けます。元データは別々に保管します。
- 両方の表をクエリに読み込む:[データ]からテーブルまたは範囲を読み込み、Power Queryエディターに表示します。機能の入口はPower Query for Excelのヘルプで確認できます。
- キー列を整える:左右で同じ意味の列を選び、データ型を合わせます。商品コードは片方だけ数値に変換しないようにします。先頭ゼロが意味を持つコードは、両方を文字列として取り込みます。
- クエリをマージする:エディターの[ホーム]からマージを選択し、左表・右表と対応するキー列を指定します。複数列がキーなら、左右で同じ列数と選択順にします。
- 結合種類を決める:両側を残すなら完全外部結合、左または右の未登録だけを抽出するなら対応するアンチ結合を選びます。
- 必要な列を展開する:結合でできた列から相手側のキーや値を展開し、空欄がどちらの未登録を示すか分かる列名にします。
- 結果を読み込んで確認する:件数、重複、両側の未登録、数量などの合計を元表と照らします。問題がなければ読み込みます。
Power Queryの画面名や読み込み可能なデータソースは、Excelの版・OS・更新状態で差があります。Mac版では利用可能な機能や更新対象に違いがあるため、実際の版に対応するExcel for MacのPower Query案内も確認してください(参照日:2026-10-06)。
結合前後に確認する件数
| 確認 | 見るもの | なぜ必要か |
|---|---|---|
| 元表の行数 | マスターと在庫の行数 | 読み込み漏れや対象範囲のずれに気づくため |
| キーの重複 | 商品コードまたは複合キーごとの件数 | 1対多の行増加や重複候補を確認するため |
| 一致したキー | 左右に1件以上あるキー | 結合が意図した項目に対して成立したか確かめるため |
| 左側の未登録 | 左アンチ結合の行 | 右表に存在しないマスター行を調べるため |
| 右側の未登録 | 右アンチ結合の行 | マスターに存在しない在庫行を調べるため |
| 結合後の行数 | 出力行数と元表・キー件数 | 1対多による行の増加が説明できるか確かめるため |
| 数量や金額の合計 | 集計する単位をそろえた値 | 重複計上や意図しない欠落を見つけるため |
一意キー同士なら、マージ前後の件数を説明しやすくなります。同じキーが片側または両側で複数行ある場合、Power Queryは対応する行をすべて結果に含めます。そのため、結合後の行数や合計が増えた理由を、キーごとに確認します。マージでは関連テーブルの該当するすべての行が含まれることがMicrosoftの説明に記載されています。
件数が合わないときは、行を手で削る前に、キーの粒度・データ型・空欄・重複を確認します。重複が正当な明細なら、照合キーに必要な列を加えるか、承認済みのルールで集約してから比較してください。
Excelの上限と環境差を確認する
ワークシートに読み込める行数には上限があり、Excelの仕様では1シートあたり1,048,576行です。Power Queryの処理可否はワークシートの行数上限だけでは決まらず、利用できるメモリやExcelの32bit/64bitなどにも左右されます。Power Queryの仕様と制限(参照日:2026-10-06)
このため、「何万行なら必ず動く」「関数より何倍速い」といった一律の目安は置けません。実際のブック、接続先、端末、Excelの版で試し、全件が出力先へ読み込まれたかを確認します。出力がシート上限を超える場合は、データモデルや別の保管先を使えるか、利用環境の担当者と確認してください。
更新時も、元ファイルの期間や見出し、キー型が変わっていないかを確認します。更新が成功した表示だけで突合の正しさが確定するわけではありません。更新後に件数と差異を再検証します。
関数・複数条件との使い分け
行数が少なく、キーと列の関係が分かりやすい表なら、Excelの突合関数8種類の比較を参考に関数で確認できます。取引先・伝票番号・明細番号など複数列で同じ明細を特定する場合は、COUNTIFSで複数条件を突合する方法をご覧ください。
商品・数量・金額だけでなく、納品書、請求書、受領記録で確認する場合は納品書と請求書の照合手順も役立ちます。PDFの文字を表へ移す必要がある場合はExcel転記の自動化方法を参照してください。抽出結果は下書きとして扱い、元資料と人が確認してから記録します。
Power Queryは、2つの表を決めたキーで結合し、同じ手順を更新できる方法です。結合の種類、重複の意味、出力件数を確認したうえで運用してください。突合.com