INDEX関数、MATCH関数を利用したデータの検索・抽出
■VLOOKUP関数を利用する方法
前の記事で、VLOOKUP関数を利用したデータの検索・抽出方法を紹介しました。
再掲になりますが、 VLOOKUP関数には、
(1)検索したいデータがある列は、表の一番左になくてはならない
(2)抽出したいデータがある列が表の何列目かを数えなくてはならない
(3)抽出したいデータがある列を列番号で指定するため、表の列を追加・削除すると、適切なデータを抽出できなくなる
といった難点があります。
これらの難点を解消できるのが、INDEX関数とMATCH関数を組み合わせたやり方です。
■INDEX関数
INDEX関数は、ある範囲と、その中の位置を指定することで、そのセルに入っている内容を参照する関数です。
一般的には、次のように記述して使用します。
----------------------------------------------------------------------------------------
=INDEX(範囲, 行番号, 列番号)
----------------------------------------------------------------------------------------
例:下の表の場合、「行番号=2」、「列番号=3」とすると、「h」が返ってきます。
「範囲」に、1列または1行の範囲を指定する場合は、簡略化して記述することができます。
----------------------------------------------------------------------------------------
=INDEX(1列または1行の範囲, 先頭のセルからの位置)
----------------------------------------------------------------------------------------
以下では、この簡略化した INDEX関数の記述方法を使用します。
■MATCH関数
MATCH関数は、検索値が、指定した範囲のどこにあるかを数字で返す関数です。
----------------------------------------------------------------------------------------
=MATCH(検索値, 範囲, 照合の種類)
----------------------------------------------------------------------------------------
「照合の種類」には通常、「0」(完全一致)を指定します。
例:下の表の場合、「検索値=c」とすると、「3」が返ってきます。
■INDEX関数とMATCH関数を利用する方法
INDEX関数の「先頭のセルからの位置」を、MATCH関数を使って求めることで、データの検索・抽出が可能になります。