テーブルのマージを INDEX 関数と MATCH 関数で実現する
共通の列を持つ2 つ以上のテーブルがあり、その共通列のデータが同じ順序で並んでいない場合でも、INDEX 関数とMATCH 関数を組み合わせれば、データを正確に照合しながらテーブルをマージ・結合・統合できます。

テーブルのマージを INDEX 関数と MATCH 関数で実現する方法は?
テーブル1とテーブル2を結合し、新しいテーブルにすべての情報を統合するには(上記スクリーンショット参照)、まずテーブル1 またはテーブル2 のデータを新しいテーブルにコピーします(ここではテーブル1 のデータをコピーしました。下記スクリーンショット参照)。たとえば、新しいテーブルの最初の学生 ID 23201の場合、INDEX 関数と MATCH 関数を組み合わせて、スコアと順位の情報を次のように取得します。MATCH 関数は23201と一致する学生 ID の行位置をテーブル2 内で検索し、その行情報を INDEX 関数に渡します。これにより、該当行と指定列(スコア列または順位列)の交点にある値が取得されます。

一般的な構文
=INDEX()return_table,MATCH()lookup_value,lookup_array,0),col_num)
√ 注:すでにテーブル1の情報は入力済みのため、ここではテーブル2から対応するデータを取得するだけで済みます。
- return_table:スコアを返すもととなるテーブル。ここではテーブル 2を指します。
- lookup_value:return_table 内の情報と照合するために使用する値です。ここでは、新しいテーブル内の学生 ID を指します。
- lookup_array:lookup_valueと比較する値のセル範囲です。ここでは、return_table 内の学生 ID 列を指します。
- col_num:return_tableのどの列から対応する情報を返すかを指定する列番号。
- 0:このmatch_type0により、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)
√ 注:上記のドル記号($)は絶対参照を示しており、return_tableおよびlookup_arrayは数式を他のセルに移動またはコピーしても変更されません。一方、lookup_valueにはドル記号が付いておらず、動的に変化するようになっています。数式を入力後、フィルハンドルを下にドラッグして下のセルにも適用してください。

数式の説明
ここでは、以下の数式を例として使用します。
=INDEX()$F$5:$H$11,MATCH(C16,$F$5:$F$11,0),2)
- MATCH(C16,$F$5:$F$11,0):このmatch_type 0により、MATCH 関数は完全一致検索を実行します。その後、関数は23201(C16セルの値)が検索範囲 $F$5:$F$11 内で見つかった位置を返します。したがって、この関数は3を返します。なぜなら、一致する値が範囲内の3 番目の位置にあるからです。
- INDEX()$F$5:$H$11,MATCH(C16,$F$5:$F$11,0),2) = INDEX($F$5:$H$11INDEX 関数は、3 行目と2 列目の交点にある値を返します。この交点は戻りテーブル$F$5:$H$11 内にあり、その値は91です。
関連関数
Excel INDEX 関数は、指定された範囲または配列内の特定の位置に基づいて表示される値を返します。
Excel MATCH 関数は、セル範囲内で特定の値を検索し、その値の相対的な位置を返します。
関連数式
Excel で特定の商品、映画、人物などの情報を検索する必要がある場合は、INDEX 関数と MATCH 関数を組み合わせるのが効果的です。
従業員のパフォーマンス評価や学生の成績判定、重量に基づく送料計算など、Excel で近似一致検索が必要となる場面はさまざまです。本チュートリアルでは、目的の結果を正確に取得するために、INDEX 関数と MATCH 関数をどのように活用するかをわかりやすく解説します。
場合によっては、複数の条件に基づいて最も近い値や近似一致値を検索する必要があります。そんなときは、INDEX 関数、MATCH 関数、IF 関数を組み合わせることで、Excel で素早く実現できます。
最高の Office 生産性ツール
Kutools for Excel - あなたを群衆の中から際立たせます
| 🤖 | KUTOOLS AI アシスト:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気機能:検索・ハイライト・重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー VLookup:複数条件 | 複数値 | 複数シート間 | ファジーマッチ... | |
| 高度なドロップダウンリスト:簡単なドロップダウンリスト | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト... | |
| 列マネージャー:指定した数の列を追加 | 列の移動 | 非表示列の表示状態を切り替え |列を比較して同じ/異なるセルを選択... | |
| 注目の機能:グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブックとシートマネージャー|リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/イタリック/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除...)| 50+チャートタイプ(ガントチャート...)| 40+実用的な数式(誕生日に基づいて年齢を計算します...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入...)| 12 変換ツール(単語に変換する、為替レートの変換...)| 7 結合と分割ツール(高度な行のマージ、Excel セルを分割...)|。。。他にも多数 |
Kutools for Excel は300 以上の機能を備えており、必要な機能が常にワンクリックで利用できます…
Office Tab - Microsoft Office(Excel を含む)でタブを使った閲覧・編集を可能にします
- 数十もの開いているドキュメントを1 秒で切り替えられます!
- 毎日何百回ものマウスクリックを削減して、マウス手の悩みともさよならしましょう。
- 複数のドキュメントを閲覧・編集する際の生産性が50%も向上します。
- Office(Excel を含む)に、Chrome、Edge、Firefox のような効率的なタブ機能をもたらします。