INDEX関数、MATCH関数を利用したデータの検索・抽出

■VLOOKUP関数を利用する方法

前の記事で、VLOOKUP関数を利用したデータの検索・抽出方法を紹介しました。 

再掲になりますが、 VLOOKUP関数には、

(1)検索したいデータがある列は、表の一番左になくてはならない

(2)抽出したいデータがある列が表の何列目かを数えなくてはならない

(3)抽出したいデータがある列を列番号で指定するため、表の列を追加・削除すると、適切なデータを抽出できなくなる

といった難点があります。

 

これらの難点を解消できるのが、INDEX関数とMATCH関数を組み合わせたやり方です。

 

■INDEX関数

 INDEX関数は、ある範囲と、その中の位置を指定することで、そのセルに入っている内容を参照する関数です。

一般的には、次のように記述して使用します。

----------------------------------------------------------------------------------------

=INDEX(範囲, 行番号, 列番号)

----------------------------------------------------------------------------------------

 

例:下の表の場合、「行番号=2」、「列番号=3」とすると、「h」が返ってきます。 

f:id:espelican:20210613082853p:plain

 

「範囲」に、1列または1行の範囲を指定する場合は、簡略化して記述することができます。

----------------------------------------------------------------------------------------

=INDEX(1列または1行の範囲, 先頭のセルからの位置)

----------------------------------------------------------------------------------------

f:id:espelican:20210613084607p:plain


以下では、この簡略化した INDEX関数の記述方法を使用します。

 

■MATCH関数

 MATCH関数は、検索値が、指定した範囲のどこにあるかを数字で返す関数です。

----------------------------------------------------------------------------------------

=MATCH(検索値, 範囲, 照合の種類)

----------------------------------------------------------------------------------------

 「照合の種類」には通常、「0」(完全一致)を指定します。

 

例:下の表の場合、「検索値=c」とすると、「3」が返ってきます。 

f:id:espelican:20210613084607p:plain

 

■INDEX関数とMATCH関数を利用する方法

INDEX関数の「先頭のセルからの位置」を、MATCH関数を使って求めることで、データの検索・抽出が可能になります。

f:id:espelican:20210613090257p:plain