メインコンテンツへスキップ

INDEXとMATCHでテーブルを結合する

Author: Amanda Li Last Modified: 2025-08-06

たとえば、共通の列を持つ2つ以上のテーブルがあり、その共通列のデータが同じ順序で並んでいない場合があります。このような場合、データを照合しながらテーブルを結合、統合、または連結するには、INDEX関数とMATCH関数を使用できます。

merge tables with index and match 1

INDEXとMATCHでテーブルを結合するにはどうすればよいですか?

上記のスクリーンショットに示されているように、新しいテーブルにすべての情報を統合するために表1と表2を結合するには、まず表1または表2から新しいテーブルにデータをコピーする必要があります(ここでは表1からコピーしました。下のスクリーンショットを参照)。新しいテーブルの最初の学生ID 23201を例として、INDEX関数とMATCH関数は次のようにしてそのスコアとランク情報を取得します: MATCHは、表2内の23201と一致する学生IDの行位置を返します。この行情報は、指定された列(スコアまたはランク列)との交差点にある値を取得するためにINDEXに渡されます。

merge tables with index and match 2

汎用構文

=INDEX(戻りテーブル,MATCH(検索値,検索範囲,0),列番号)

√ 注: 表1の情報はすでに記載済みなので、今度は表2から対応するデータを取得するだけです。

  • 戻りテーブル: 学生のスコアを返すテーブル。ここでは表2を指します。
  • 検索値: 戻りテーブル内の情報を照合するために使用する値。ここでは新しいテーブル内の学生IDの値を指します。
  • 検索範囲: 検索値と比較する値を持つセルの範囲。ここでは戻りテーブル内の学生ID列を指します。
  • 列番号: 戻りテーブルのどの列から対応する情報を返すかを示す列番号。
  • 0: マッチタイプ0は、MATCH関数に完全一致を実行させるために必要です。

新しいテーブルにすべての情報を統合するために表2から対応するデータを取得するには、以下の数式をセルF16およびG16にコピーまたは入力し、Enterキーを押して結果を得てください:

セルF16(スコア)
=INDEX($F$5:$H$11,MATCH(C16,$F$5:$F$11,0),2)
セルG16(ランク)
=INDEX($F$5:$H$11,MATCH(C16,$F$5:$F$11,0),3)

√ 注: 上記のドル記号($)は絶対参照を示しており、数式を他のセルに移動またはコピーしても戻りテーブルと検索範囲が変更されません。ただし、検索値にはドル記号が追加されていません。これは、それが動的であることを意図しているためです。数式を入力した後、フィルハンドルを下にドラッグして数式を下のセルに適用します。

merge tables with index and match 3

数式の説明

ここでは、以下の数式を例として使用します:

=INDEX($F$5:$H$11,MATCH(C16,$F$5:$F$11,0),2)

  • MATCH(C16,$F$5:$F$11,0): マッチタイプ 0は、MATCH関数に完全一致を実行させます。この関数は、検索範囲$F$5:$F$11内で23201C16の値)の一致値の位置を返します。そのため、関数は一致値が範囲内の3番目の位置にあるため「3」を返します。
  • INDEX($F$5:$H$11$F$5:$H$11,MATCH(C16,$F$5:$F$11,0),22) = INDEX($F$5:$H$11$F$5:$H$11,3,22): INDEX関数は、戻りテーブル $F$5:$H$113行目と2列目の交差点にある値を返します。この値は「91」です。

関連する関数

Excel INDEX関数

ExcelのINDEX関数は、範囲または配列からの指定された位置に基づいて表示される値を返します。

Excel MATCH関数

ExcelのMATCH関数は、特定の値をセル範囲で検索し、その値の相対的な位置を返します。


関連する数式

INDEXとMATCHによる完全一致

特定の製品、映画、人物などのExcelにリストされている情報を確認する必要がある場合は、INDEX関数とMATCH関数の組み合わせをうまく活用する必要があります。

INDEXとMATCHによる近似一致

従業員のパフォーマンスを評価したり、学生の成績を評価したり、重量に基づいて郵便料金を計算したりするために、Excelで近似一致を見つける必要がある場合があります。このチュートリアルでは、必要な結果を取得するためにINDEX関数とMATCH関数を使用する方法について説明します。

複数の基準に基づく最も近い一致値の検索

場合によっては、複数の基準に基づいて最も近いまたは近似の一致値を検索する必要があります。INDEX、MATCH、IF関数を組み合わせることで、Excelでこれを迅速に行うことができます。


最高のオフィス生産性ツール

Kutools for Excel - 群衆から一歩抜け出すためのお手伝い

🤖 KUTOOLS AI アシスタント: 次の基盤でデータ分析を革新: スマート実行   |  コード生成  |  カスタム数式を作成  |  データを分析しチャートを生成  |  Kutools 機能を呼び出し
人気機能: 重複を検索、ハイライト、または特定  |  空白行を削除  |  データを失うことなく列やセルを結合  |  数式を使わずに丸める ...
スーパーVLookup: 複数条件 | 複数値 | 複数シート間 | ファジーマッチ...
高度なドロップダウンリスト: 簡単ドロップダウンリスト  |  依存ドロップダウンリスト  |  複数選択ドロップダウンリスト...
列マネージャー: 特定の数の列を追加 |  列を移動 |  非表示列の可視性ステータスを切り替え 列を比較して同じおよび異なるセルを選択 ...
注目機能: グリッドフォーカス |  デザインビュー |  強化された数式バー |  ワークブックとシートマネージャー | リソースライブラリ (オートテキスト) |  日付ピッカー |  ワークシートを統合 |  セルの暗号化/復号化 |  リストによるメール送信 |  スーパーフィルター |  特殊フィルタ(太字、斜体、取り消し線のフィルタリング...) ...
上位15のツールセット12個の テキストツールテキストの追加特定の文字を削除 ...) |  50以上の チャート タイプガントチャート ...) |  40以上の実用的な 数式誕生日に基づいて年齢を計算 ...) |  19個の 挿入ツールQRコードの挿入パスからの画像挿入 ...) |  12個の 変換ツール単語に変換する通貨変換 ...) |  7つの マージ&分割ツール高度な行のマージExcelセルの分割 ...) |  ... など
お好みの言語でKutoolsを使用できます。英語、スペイン語、ドイツ語、フランス語、中国語、その他の40以上の言語に対応!

Kutools for Excelは300以上の機能を誇り、必要なものがクリック一つで利用可能です...


Office Tab - Microsoft Office(Excel含む)でタブ形式の読み書きを可能に

  • 数十の開いている文書間を1秒で切り替え!
  • 毎日数百回のマウスクリックを減らし、マウス疲れとはおさらば!
  • 複数の文書を閲覧・編集する際の作業効率を50%向上します。
  • Chrome、Edge、Firefoxのように、Office(Excel含む)に効率的なタブをもたらします。