ExcelでINDEXとMATCH関数を使って複数条件に基づくデータを検索するには、MATCH関数内で複数の条件を組み合わせることが一般的です。ここでは、MATCH関数を使ってARRAY式を作成し、それをINDEX関数に渡す方法を説明します。

例えば、A列に「名前」、B列に「年齢」、C列に「性別」が記載されているとします。ここで、特定の名前と年齢に一致する性別を取得したい場合は以下のようにします。

  1. 検索対象の名前が"A列"に、検索対象の年齢が"B列"にあるとします。
  2. これらの条件に一致する「性別」を"C列"から取得したい場合は、以下の式を使用します。
=INDEX(C:C, MATCH(1, (A:A="特定の名前")*(B:B=特定の年齢), 0))

この式では、次のことを行っています:

注意点として、この配列式を正しく動作させるには、配列式として入力する必要があります。Excel 365やExcel 2019の一部バージョンでは、式を入力した後に Enter ではなく Ctrl+Shift+Enter を押して配列式として入力してください。Excelの新しいバージョンでは、自動的に配列として処理されることがあります。