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

INDEXとMATCHを複数の配列で使用する

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

いくつかの表があり、それぞれ同じキャプションを持っているとします。以下に示すように、これらの表から特定の条件に一致する値を検索するのは難しい作業になるかもしれません。このチュートリアルでは、INDEXMATCH、およびCHOOSE関数を使用して、複数の配列、範囲、またはグループにまたがって値を検索する方法について説明します。

index match multiple arrays 1

複数の配列にわたって値を検索するにはどうすればよいですか?

異なる部門に属するさまざまなグループのリーダーを知るためには、まずCHOOSE関数を使用して、リーダー名を返す表を指定します。次に、MATCH関数はそのリーダーが所属する表における位置を見つけ出します。最後に、INDEX関数はその位置情報とリーダー名が記載されている特定の列に基づいてリーダーを取得します。

一般的な構文

=INDEX(CHOOSE(array_num,array1,array2,),MATCH(lookup_value,lookup_array,0),column_num)

  • array_num: CHOOSEがリスト内の配列( array1,array2,…)から結果を返すために使用する番号を示します。
  • array1,array2,…: 結果を返す配列です。ここでは、3つの表を指します。
  • lookup_value: 組み合わせ式が対応するリーダーの位置を見つけるために使用する値です。ここでは、与えられたグループを指します。
  • lookup_array: lookup_valueが一覧表示されているセルの範囲です。ここでは、グループの範囲を指します。 注: すべての部門のグループ範囲は同じであるため、どの部門の範囲を使っても問題ありません。必要なのは位置番号だけです。
  • column_num: データを取得したい列を指定します。

部門Aに属するグループDのリーダーを知るには、次の数式をセルG5にコピーまたは入力し、Enterキーを押して結果を得てください:

=INDEX(CHOOSE(1,$B$5:$C$8,,$B$11:$C$14,,$B$17:$C$20),MATCH(F5,$B$5:$B$8,0),2)

√ 注: 上記のドル記号($)は絶対参照を示しており、数式を他のセルに移動またはコピーしても、数式内の名前やクラスの範囲は変更されません。数式を入力した後、フィルハンドルを下にドラッグして数式を下のセルに適用し、それに応じてarray_numを変更してください。

index match multiple arrays 2

数式の説明

=INDEX(CHOOSE(1,$B$5:$C$8,$B$11:$C$14,$B$17:$C$20),MATCH(F5,$B$5:$B$8,0),2)

  • CHOOSE(1,$B$5:$C$8,$B$11:$C$14,$B$17:$C$20): CHOOSE関数は、数式にリストされた3つの配列から最初の配列を返します。したがって、これは$B$5:$C$8、つまり部門Aのデータ範囲を返します。
  • MATCH(F5,$B$5:$B$8,0): match_type 0は、MATCH関数にGroup D(セルF5の値)の最初の一致の位置を配列$B$5:$B$8内で返させます。この場合、それは4です。
  • INDEX(CHOOSE(1,$B$5:$C$8,$B$11:$C$14,$B$17:$C$20),MATCH(F5,$B$5:$B$8,0),22) = INDEX($B$5:$C$8,4,22): INDEX関数は、範囲$B$5:$C$84行目と2列目の交点にある値を取得します。この場合、Emilyです。

数式をコピーするたびにarray_numを変更しないためには、ヘルパー列(列D)を使用できます。数式は次のようになります:

=INDEX(CHOOSE(D5,$B$5:$C$8,,$B$11:$C$14,,$B$17:$C$20),MATCH(F5,$B$5:$B$8,0),2)

√ 注: ヘルパー列の数字123は、CHOOSE関数内のarray1array2array3を示しています。


関連する関数

Excel INDEX関数

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

Excel MATCH関数

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

Excel CHOOSE関数

CHOOSE関数は、指定されたインデックス番号に基づいて、値引数リストから値を返します。例えば、CHOOSE(3,"Apple","Peach","Orange")は「Orange」を返します。インデックス番号は3であり、「Orange」は関数内のインデックス番号の後の3番目の値です。


関連する数式

別のワークシートまたはワークブックから値を検索する

VLOOKUP関数を使用してワークシート内の値を検索する方法を知っていれば、別のワークシートやワークブックから値をvlookupすることも難しくありません。

動的なシート名を持つVlookup

多くの場合、複数のワークシートからデータを集める必要があるでしょう。VLOOKUP関数とINDIRECT関数を組み合わせることで、動的なシート名を使用してワークシート間で特定の値を検索する数式を作成できます。

INDEXとMATCHによる複数基準での検索

複数の列と行見出しを持つ大きなデータベースを扱う場合、複数の基準を満たす項目を見つけるのは常に難しいものです。このような場合、INDEX関数とMATCH関数を使った配列数式を使用することができます。


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

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含む)に効率的なタブをもたらします。