Power Query:Excel で2 つのテーブルを比較する
異なるデータソースからのデータや更新されたデータセットを扱う際、あるいはデータ監査を行う際に、Excel で2 つのテーブルを比較する必要が頻繁に生じます。その主な目的は、両方のテーブルに共通するレコードを特定したり、相違点を明らかにしたり、いずれかのリストに不足しているエントリを見つけ出したりすることです。たとえば、同僚や外部システムから新しいデータを受け取ったとき、それをマスターリストと照合して更新内容や不整合を確認しなければならないケースも少なくありません。以下のスクリーンショットでは、同じ列構造を持つ2 つのテーブルに、一部一致するレコードと一部異なるレコードが含まれています。こうした相違点や共通点を効率的に視覚的に強調表示できるスキルは、データ検証やビジネス意思決定において極めて重要です。
本チュートリアルでは、Power Query 機能を使った2 つのテーブルの比較方法を詳しく解説します。また、数式や VBA コード、条件付き書式など、他の実用的な代替手段をお探しの場合は、下記の目次に追加された解決策をご参照ください。
代替の解決策
![]() |
![]() |
![]() |
Power Query で2 つのテーブルを比較する
Power Query は、Excel で複数のデータソースからデータを再構成・分析するのに最適なツールです。2 つのテーブルデータを行単位で比較する必要がある場合、Power Query がそのプロセスの大部分を自動化し、手動比較に伴うミスを減らしながら時間を大幅に節約できます。以下のステップバイステップガイドに従ってテーブル同士を比較し、スムーズなワークフローを実現するための実践的なヒントや注釈をぜひご活用ください。
2 つのテーブルからクエリを作成する
1。比較したい最初のテーブルを選択します。データタブに移動し、テーブル/範囲からをクリックします(Excel 2019 およびExcel 365 の場合)。下記のスクリーンショットをご参照ください。
ヒント:開始前に、必ずテーブルが実際のExcel テーブル(Ctrl+T)として書式設定されていることを確認してください。これにより、Power Query がデータ範囲を正確に認識できます。

注:Excel 2016 およびExcel 2021 では、メニュー項目はデータ>テーブルからとなります。機能は同等です。
選択範囲がテーブルとして書式設定されていない場合、Excel がテーブルの作成を促すことがあります。
![Excel 2016およびExcel 2021では、[データ] > [テーブル/範囲から] をクリックします](http://cdn.extendoffice.com/images/stories/doc-excel/power-query-compare-tables/doc-power-query-compare-tables-4.png)
2。Power Query エディターウィンドウが開きます。比較目的であればそのまま進めても問題ありませんが、必要に応じてここでデータを確認・クリーニングすることもできます。「閉じて読み込む>閉じて読み込み先を指定」をクリックして、接続オプションを設定してください。
![[閉じて読み込む] > [閉じて読み込み先指定] をクリックします](http://cdn.extendoffice.com/images/stories/doc-excel/power-query-compare-tables/doc-power-query-compare-tables-5.png)
3。データのインポートダイアログボックスで、「接続のみを作成」を選択し、OKをクリックします。このオプションを選択すると、ワークシートにデータが即座に読み込まれず、Power Query 内でのみデータを利用できます。次のスクリーンショットをご参照ください。
![ダイアログボックスで [接続のみを作成する] オプションを選択します](http://cdn.extendoffice.com/images/stories/doc-excel/power-query-compare-tables/doc-power-query-compare-tables-6.png)
4。前回の手順(1~3)を繰り返して、2 番目のテーブルの接続を作成します。これにより、両方のテーブルがクエリと接続ペインに個別の接続として表示され、比較ステップの準備が整います。
ヒント:次のステップで正確な比較を行うため、両方のテーブルの列名と構造が完全に一致していることを再度確認してください。

クエリを結合して2 つのテーブルを比較する
両方のクエリを作成したら、これらをマージして、行単位での相違点や一致点を明らかにしましょう。
5。Excel 2019 およびExcel 365 では、データタブを選択し、データの取得>クエリの結合>マージをクリックすると、マージプロセスが開始されます。スクリーンショットをご参照ください。
![[データ] > [データの取得] > [クエリの結合] > [マージ] をクリックします](http://cdn.extendoffice.com/images/stories/doc-excel/power-query-compare-tables/doc-power-query-compare-tables-8.png)
注:Excel 2016 およびExcel 2021 では、データ > 新しいクエリ > クエリの結合 > マージからアクセスします。手順は同じです。
![Excel 2016およびExcel 2021では、[データ] > [新しいクエリ] > [クエリの結合] > [マージ] をクリックします](http://cdn.extendoffice.com/images/stories/doc-excel/power-query-compare-tables/doc-power-query-compare-tables-9.png)
6。マージダイアログボックスで:
- 2 つのドロップダウンリストから、それぞれ最初と2 番目のテーブルクエリを選択してください。
- 各テーブルで比較したい列を選択してください。複数の列を選択するには、Ctrlキーを押しながらクリックします。行単位で正確に比較するには、通常、すべての列を選択する必要があります。
- 結合の種類として、Join Kindに完全外部結合(両方のテーブルのすべての行)を選択します。このオプションを使うと、すべての行が照合され、不足しているレコードや余分なレコード、内容が異なるレコードが強調表示されます。
- 続行するには、OKをクリックしてください。

7。2 番目のテーブルから一致したデータが、新しい列として表示されます:
- 新しい列見出しの横にある小さな展開ボタン(二重矢印)をクリックしてください。
- 表示されるメニューで展開を選択し、結果に含める列を指定してください(通常はすべての列を選択します)。
- それらを挿入するには、OKを押してください。
![[展開] ペインでオプションを設定します](http://cdn.extendoffice.com/images/stories/doc-excel/power-query-compare-tables/doc-power-query-compare-tables-11.png)
8。2 番目のテーブルのデータが最初のテーブルの隣に並んで表示され、レコードの比較がぐっと簡単になります。このマージ済みデータをExcel に戻すには、ホーム>閉じて読み込む>閉じて読み込むをクリックしてください。すると、並列表示された比較結果が新しいワークシートに追加されます。
![[ホーム] > [閉じて読み込む] > [閉じて読み込み先指定] をクリックして、データを新しいワークシートに読み込みます](http://cdn.extendoffice.com/images/stories/doc-excel/power-query-compare-tables/doc-power-query-compare-tables-12.png)
9。結果のワークシートでは、一致と不一致を一目で簡単に識別できます。同一の行は隣り合って表示され、相違点は空白セルや異なる値として明確に目立ちます。このレイアウトにより、2 つのテーブル間で固有のレコード、不足しているレコード、変更されたレコードを効率よくピンポイントで特定できます。
トラブルシューティングのヒント:一部のレコードが期待通りに一致しない場合は、結合列の書式が一貫していること、およびソースデータ内に余分なスペースやタイプミスがないことを再度確認してください。Power Query はわずかな違いにも敏感です。

以上のように、Power Query を使えば、Excel で2 つのテーブルを比較する複雑な作業がぐっと簡単になります。これらの手順に慣れれば、異なるファイル間でのテーブル比較や、複数のフィールドを組み合わせた一致検索など、さらに高度なデータ分析にも応用可能!頻繁にデータを更新するなら、Power Query の手順をテンプレートとして保存しておけば、同じ構造の比較タスクを今後もスピーディーに処理できます。列の選択やマージで問題が起きた場合は、列のデータ型を再確認し、事前に重複行を削除しておくことで、一致時のトラブルを防げます。
ただし、Power Query が「たまに行うだけの作業にはちょっと複雑」と感じる場合や、ワークシート上で直接相違点を強調表示したいとき、さらには繰り返しの比較作業を完全自動化したい場合は、以下にご紹介する代替ソリューションもぜひご活用ください。
Excel 数式による2 つのテーブルの比較
2 つのテーブルを行単位で比較し、相違点を的確に把握する強力な方法の一つは、Excel の TEXTJOIN 関数を IF 関数と組み合わせて活用することです。
たとえば、Table1 がセル A2:C10 に、Table2 がセル F1:H10 にあるとします。このとき、Table1 内のどの項目が Table2 に存在しないかを確認したい場合があります。

1。セル I2 に次の数式を入力してください:
=IF(TEXTJOIN("|",,A2:C2)=TEXTJOIN("|",,F2:H2), "Match", "Mismatch") 2。その後、他のセルにも数式をドラッグして結果を取得します。各テーブルの行が完全に一致する場合は「Match」、そうでない場合は「Mismatch」を返します。
- TEXTJOIN(「|」,,A2:C2)は、セル A2 から C2 の値をパイプ記号「|」で区切りながら、1 つのテキスト文字列に結合します。
- TEXTJOIN(「|」,,F2:H2)は、セル F2 から H2 に対しても同様の処理を行います。
- IF 関数は、結合された2 つの文字列が完全に一致するかどうかを判定します。一致すれば「Match」、異なれば「Mismatch」を返します。
VBA コード - マクロによる2 つのテーブルの比較
VBA を活用したアプローチは、ワークシートに大量の数式を追加することなく、2 つのテーブルを視覚的に素早く行単位で比較したい場合に最適です。特に、インポートされたデータをクリーンでユーザーフレンドリーな方法で監査・検証する際に非常に役立ちます。
1。クリックして開発者ツール > Visual Basicを選択し、VBA エディターを開きます。
2。エディターで、挿入 > 標準モジュールをクリックし、次のコードをモジュールウィンドウに貼り付けてください。
Sub CompareSelectedTablesRowByRow()
Dim rng1 As Range, rng2 As Range
Dim rowCount As Long, colCount As Long
Dim r As Long, c As Long
Dim xTitle As String
xTitle = "Compare Tables - KutoolsforExcel"
On Error Resume Next
Set rng1 = Application.InputBox("Select the first table range:", xTitle, Type:=8)
If rng1 Is Nothing Then Exit Sub
Set rng2 = Application.InputBox("Select the second table range:", xTitle, Type:=8)
If rng2 Is Nothing Then Exit Sub
On Error GoTo 0
If rng1.Rows.Count <> rng2.Rows.Count Or rng1.Columns.Count <> rng2.Columns.Count Then
MsgBox "Selected ranges do not have the same size.", vbExclamation, xTitle
Exit Sub
End If
rng1.Interior.ColorIndex = xlNone
rng2.Interior.ColorIndex = xlNone
For r = 1 To rng1.Rows.Count
For c = 1 To rng1.Columns.Count
If rng1.Cells(r, c).Value <> rng2.Cells(r, c).Value Then
rng1.Cells(r, c).Interior.Color = vbYellow
rng2.Cells(r, c).Interior.Color = vbYellow
End If
Next c
Next r
MsgBox "Comparison complete. Differences are highlighted in yellow.", vbInformation, xTitle
End Sub
3。コードを実行するには、VBA ウィンドウの実行ボタンをクリックするか、F5キーを押してください。プロンプトが表示されたら、まず最初のテーブル範囲を、次に2 番目のテーブル範囲を選択します。マクロは2 つのテーブルのセルを各行ごとに比較し、値が異なる場合は両方のテーブルの該当セルを黄色で強調表示します。
条件付き書式を使用する - テーブルを視覚的に比較する
条件付き書式を使うと、ワークシート内の差分や一致を視覚的かつ直感的に強調表示できます。元のデータを一切変更せずに重複値や相違値を簡単に特定でき、特に横並びの小規模なテーブルでその効果を最大限に発揮します。
1。最初のテーブル範囲(例:A1:C10)を選択します。
2。「ホーム」タブに移動し、ホーム > 条件付き書式を使用する > 新規ルールをクリックします。
3。「数式を使用して書式設定するセルを決定する」をクリックし、数式を使用して書式設定するセルを決定するに次の数式を入力します:=A2F2
4。「書式」をクリックし、書式で塗りつぶし色を選択してから、OK > OKをクリックしてルールを適用します。
結果:強調表示されたセルは、Table1 には存在するが、Table2 には存在しない値を示しています。必要に応じて、Table2 と Table1 の比較も同様に繰り返すことができます。

KUTOOLS AI でExcel の魔法を解き放ちましょう
- スマート実行:セル操作、データ分析、チャート作成をすべてシンプルなコマンドで実現します。
- カスタム数式:ワークフローの効率化に役立つ、あなただけのカスタマイズ数式を生成します。
- VBA コーディング:VBA コードを簡単に記述・実装できます。
- 数式の解釈:複雑な数式が簡単に理解できます。
- テキスト翻訳:スプレッドシート内で言語の壁を乗り越えましょう!
最高の Office 業務効率化ツール
| 🤖 | KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気の機能:検索・ハイライト、または重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー LOOKUP:複数条件 VLookup | 複数値 VLookup | 複数シート間 VLookup | ファジーマッチ.... | |
| 高度なドロップダウンリスト:ドロップダウンリストをすばやく作成 | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト.... | |
| 列マネージャー:指定した数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲および列の比較... | |
| 注目の機能:グリッドフォーカス | デザインビュー |強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)| 50+チャートタイプ(ガントチャート、...)| 40+実用的関数(誕生日に基づいて年齢を計算します、...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)| 12 変換ツール(単語に変換する、為替レートの変換、...)| 7 結合と分割ツール(高度な行のマージ、セルの分割、...)|さらに多数 |
Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。
Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします
- Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
- 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
- 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!
すべてのKutools アドインが、たった1 つのインストーラーで完結。
Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
- インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
- 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得

