【Excel】データ検索にはINDEX関数が便利!基本の使い方と応用術を紹介

データが記載されている表から、特定の情報を抽出する場合、エクセル関数が便利です。今回は情報の検索に便利な関数「INDEX」の使用法と活用術を紹介します。

表から特定のデータを取り出したい場合に便利なのがINDEX関数です。データ検索によく使われる関数としてはVLOOKUPが有名ですが、こちらも合わせて覚えておけば、対応方法が増えて便利ですよ。

この記事では、INDEX関数の基本の使い方と応用術を紹介します。

行・列の番号を指定し値を抽出できるINDEX関数

INDEX関数は、行と列の番号を指定し、該当するセル番地の値を取り出す関数です。
記述の方法は以下の二種類があります。

①配列形式
=INDEX(配列, 行番号, [列番号])
②参照形式
=INDEX(参照, 行番号, [列番号], [領域番号])

配列形式は、単体の表からデータを取り出したい場合に、参照形式は、複数の表からデータを検索したい場合に使用します。

参照形式が適しているのは、たとえば以下のように複数の表からデータを抽出する場合です。

出番は配列形式のほうが多いため、今回はそちらをおもに解説します。

配列形式のINDEX関数では、配列(データを検索する範囲または行・列)と、行番号(範囲のなかの何行目か)・列番号(範囲のなかの何列目か)を指定してデータを抽出します。

簡単な例を見てみましょう。


この記述では、B3からD7までの範囲で、その中の行番号4と、列番号3に対応する値を取り出します。

▼実行結果


このように、範囲内の行番号4、列番号3にあたるセルB3の内容が表示されました。

これだけでは、何に利用できるか少々分かりにくいかもしれませんね。INDEX関数が活躍するのは、行・列の番号が場合によって異なる場合で、他の関数と組み合わせてデータを自動検索できます。次で例を見てみましょう。

条件を指定して行・列番号を抽出しデータを検索した例

INDEXとの組み合わせでよく利用される関数がMATCH関数です。MATCHは、特定の数値や文字列を指定し、それが範囲内の何番目にあるかを返す関数です。記述方法は以下のとおりです。

=MATCH(検査値, 検査範囲, [照合の型])

「照合の型」には「1または省略(検査値以下)」「0(完全一致)」「-1(検査値以上の最上値)」を指定します。特定の文字列や数値の場所を知りたい場合は、通常「0」で問題ありません。

MATCHをINDEXに組み込むことで、数値ではなく「特定の文字列・数値」で行・列を指定できるようになります。例を見てみましょう。

とある小売店の売上高データの表です。ここに、支店名と月を指定し、売上高を自動表示できるようにします。

INDEXでは、行と列の番号をそれぞれ指定しなければ対応セルの値を取ることができません。そこで、MATCHを2回使用し、入力された支店名と月が何番目にあるのかピックアップし、その番号で行と列を指定します。

この場合、関数の記述は以下のようになります。

=INDEX(C3:H6,MATCH(C9,B3:B6,0),MATCH(C10,C2:H2,0))

各部の役割は以下のとおりです。


実行すると、結果は以下のようになります。

このように、INDEXは単体で使用するより、他の関数と組み合わせることで高い効果を発揮します。応用しだいで業務効率化に大きく貢献してくれますので、ぜひ試してみてください。

表からのデータ検索はINDEX関数にお任せ

大量のデータをエクセルで扱うとき、目当てのデータを即座に探せる検索系の関数は非常に便利。表からのデータ抽出が得意な関数はほかにもありますが、こちらもぜひツールのひとつとして使ってみてください。

あなたにオススメ

いちはら

今日の晩御飯から不動産・転職までこなすマルチジャンルライター。Twitterでも活動中。Twitter:@IchiharaMakiwo