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

INDEXとMATCHを使用した複数条件の検索

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

Excelスプレッドシートで多数の列や行見出しを持つ大規模なデータベースを扱う場合、複数の条件を満たす項目を見つけるのは常に難しいものです。このような場合、配列数式としてINDEX関数とMATCH関数を使用できます。

multiple criteria index match 1

複数の条件で検索を行うにはどうすればよいですか?

上記の画像に示されているように、白で中サイズ、価格が$18の製品を見つけるために、ブール論理を利用して、条件を満たす行を示す1と0の配列を生成することができます。その後、MATCH関数はすべての条件を満たす最初の行の位置を見つけます。その後、INDEX関数は同じ行に対応する製品IDを見つけます。

一般的な構文

=INDEX(返却範囲,MATCH(1,(条件値1=条件範囲1*条件値2=条件範囲2*(…),0))

√ 注: これは配列数式であり、Ctrl + Shift + Enterで入力する必要があります。

  • 返却範囲: 組み合わせ数式が製品IDを返す範囲です。ここでは製品IDの範囲を指します。
  • 条件値: 製品IDの位置を特定するために使用される条件です。ここではセルh3、H5、およびH6の値を指します。
  • 条件範囲: 条件値がリストされている対応する範囲です。ここでは色、サイズ、価格の範囲を指します。
  • 一致タイプ0: MATCH関数に完全一致する最初の値を見つけるように強制します。

サイズ、価格が$18の製品を見つけるには、以下の数式をセルH8にコピーまたは入力し、Ctrl + Shift + Enterを押して結果を得てください:

=INDEX(B5:B10,MATCH(1,("White"=C5:C10)*("Medium"=D5:D10)*(18=E5:E10),0))

または、セル参照を使用して数式を動的にすることもできます:

=INDEX(B5:B10,MATCH(1,(h3=C5:C10)*(H5=D5:D10)*(H6=E5:E10),0))

multiple criteria index match 2

数式の説明

=INDEX(B5:B10,MATCH(1,(h3=C5:C10)*(H5=D5:D10)*(H6=E5:E10),0))

  • (h3=C5:C10)*(H5=D5:D10)*(H6=E5:E10): この数式は、セル内の色を比較します。 h3 範囲内のすべての色に対して C5:C10; サイズを比較します H5 すべてのサイズに対して D5:D10; 価格を比較します H6 すべての価格に対して E5:E10初期の結果は次のようになります:
    {TRUE;FALSE;TRUE;FALSE;TRUE;FALSE}*{FALSE;FALSE;TRUE;TRUE;TRUE;FALSE}*{FALSE;FALSE;FALSE;TRUE;TRUE;FALSE}.
    乗算により、TRUEとFALSEは1と0に変換されます:
    {1;0;1;0;1;0}*{0;0;1;1;1;0}*{0;0;0;1;1;0}.
    乗算後、次のような単一の配列が得られます:
    {0;0;0;0;1;0}.
  • MATCH(1,MATCH(1,(h3=C5:C10)*(H5=D5:D10)*(H6=E5:E10),0),0) = MATCH(1,MATCH(1,{0;0;0;0;1;0},0),0): 一致タイプ0はMATCH関数に完全一致を見つけるように指示します。関数は配列{0;0;0;0;1;0}の中の1の位置を返します。それは 5です。
  • INDEX(B5:B10B5:B10,MATCH(1,(h3=C5:C10)*(H5=D5:D10)*(H6=E5:E10),0)) = INDEX(B5:B10B5:B10,5): INDEX関数は製品ID範囲B5:B105番目の値を返します。それは30005です。

関連する関数

Excel INDEX関数

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

Excel MATCH関数

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


関連する数式

複数の条件による最も近い一致値の検索

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

INDEXとMATCHを使用した近似一致

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

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

VLOOKUP関数を使ってワークシート内の値を検索する方法を知っていれば、別のワークシートやワークブックから値を検索することも問題なく行えます。このチュートリアルでは、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含む)に効率的なタブをもたらします。