【Excel】INDEX関数とMATCH関数の使い方を分かりやすく解説

INDEX関数とMATCH関数のアイキャッチ Excel

今回は、データ抽出に役立つ「INDEX関数」とデータが何番目にあるかを調べられる「MATCH関数」についてご紹介します。
この2つの関数はよく組み合わせて使用される関数で、より柔軟なデータの抽出を行うことができるようになります。ぜひ参考にしてみてください。

INDEX関数

INDEX関数とは

「INDEX関数」は、検索/行列関数と呼ばれる関数の1つです。
行番号と列番号を指定することで、交差した位置のデータを抽出することができます。

INDEX関数とは(Excel)
INDEX関数とは(Excel)

INDEX関数
範囲内ので指定した位置の値を返す関数
行番号と列番号を指定し、交差した位置のデータを抽出します

INDEX関数の使い方

「INDEX関数」の使い方を見ていきましょう。

INDEX関数の使い方(Excel)
INDEX関数の使い方(Excel)

INDEX関数
配列
対象データの配列(範囲)を指定する

行番号
配列の中の何行目かを指定する

列番号
配列の中の何列目かを指定する

 

使用例

ここからは、実際にExcelの画面を見ながら「INDEX関数」の使い方について学んでいきましょう。

例として、上図の表から商品名「モニター」の価格を抽出したいと思います。

関数の挿入から「INDEX関数」を挿入する場合、上図のように「引数の選択」ダイアログボックスが表示されます。
その場合は基本的には上の「配列,行番号,列番号」を選択します。(今回の使用例でも全てこちらを選択しています。)

「INDEX関数」の中身はこちらになります。

数式  「=INDEX($A$2:$D$11,5,4)」
配列  「$A$2:$D$11」
行番号 「5」
列番号 「4」
※行番号(列番号も)は、配列内で〇行目(〇列目)かを指定します

数式が入力出来たら、「OK」またはEnterキーを押しましょう。

これで、表から商品名「モニター」の価格「15,000」を抽出することができました。

MATCH関数

MATCH関数とは

次に、「MATCH関数」について見ていきましょう。

「MATCH関数」も「INDEX関数」と同様に検索/行列関数と呼ばれる関数の1つです。
下記の図で、「MATCH関数」のイメージをつかんでおきましょう!

MATCH関数とは(Excel)
MATCH関数とは(Excel)

MATCH関数
検査範囲内で検査値が何番目か求める関数
検査範囲が列の場合は〇行目かを、行の場合は〇列目かを求めてくれます

MATCH関数の使い方

「MATCH関数」の使い方を見ていきましょう。

MATCH関数の使い方(Excel)
MATCH関数の使い方(Excel)

MATCH関数
検査値
検索したい値を指定する

検索範囲
検索値を検索する範囲を指定する

照合の種類
1:検査一以下の最大値 0:完全一致 -1:検査値以上の最小値
1を選択する場合、検索範囲を事前に昇順に並べておきましょう。
 -1を選択する場合、検索範囲を事前に降順に並べておきましょう。

使用例

ここからは、実際にExcelの画面を見ながら「MATCH関数」の使い方について学んでいきましょう。

例として、上図の表から商品名「ヘッドホン」が表(検索範囲)の何行目にあるかを求めたいと思います。

「MATCH関数」の中身はこちらになります。

数式   「=MATCH(“ヘッドホン”,$B$2:$B$11,0)」
検査値  「”ヘッドホン”」
検索範囲 「$B$2:$B$11」
照合の種類「0」

数式が入力出来たら、「OK」またはEnterキーを押しましょう。

これで、商品名「ヘッドホン」は表(検索範囲)の6行目にあると求めることができました。

INDEX関数とMATCH関数の組み合わせ

ここからは、「INDEX関数」「MATCH関数」の組み合わせを解説していきます。
「INDEX関数」と「MATCH関数」は組み合わせることでより柔軟にデータの抽出を行うことができるため、ぜひ参考にしてみてください!
では、さっそく見ていきましょう。

使用例

例として、商品名「洗濯機」の価格を抽出したいと思います。

「INDEX関数」の中身はこちらになります。

数式  「=INDEX($A$2:$F$11,MATCH(“洗濯機”,$B$2:$B$11,0),MATCH(“価格”,$A$1:$F$1,0))」
配列  「$A$2:$F$11」
行番号 「MATCH(“洗濯機”,$B$2:$B$11,0)」
列番号 「MATCH(“価格”,$A$1:$F$1,0)」

INDEX関数を単体で使用する場合、行番号(列番号も)は数値で指定していましたが、MATCH関数と組み合わせることで、その条件に合ったデータの行番号列番号MATCH関数で求めることができます。
そのため、INDEX関数を単体で使用するときとは違い、何行目(何列目)にあるかを確認する必要がなくなります。

数式が入力出来たら、「OK」またはEnterキーを押しましょう。

これで、商品名「洗濯機」の価格「70,000」を抽出することができました。

応用例

最後に、「INDEX関数」「MATCH関数」を組み合わせた応用例をご紹介します。

先ほどの使用例では、関数内で条件を指定して抽出していましたが、
今回の例ではドロップダウンリストから商品名を選択することで、その商品の価格を抽出できるようにしたいと思います。

最初に、ドロップダウンリストを作成していきます。
ドロップダウンリストを作成するためには、表示したいセルを選択し、<データ>タブにある「データの入力規則」をクリックします。

すると「データの入力規則」ダイアログボックスが開くので、設定欄を以下のように設定します。

入力値の種類 「リスト」
元の値    「=$B$2:$B$11」

これで、ドロップダウンリストから商品名を選択できるようになりました。
次に、「INDEX関数」を入力していきます。

「INDEX関数」の中身はこちらになります。

数式 =INDEX($A$2:$F$11,MATCH($B$13,$B$2:$B$11,0),MATCH($A$14,$A$1:$F$1,0))
配列 「$A$2:$F$11」
行番号「MATCH($B$13,$B$2:$B$11,0)」
列番号「MATCH($A$14,$A$1:$F$1,0)」

数式が入力出来たら、「OK」またはEnterキーを押しましょう。

これで準備が整いました!商品名をドロップダウンリストから指定してみましょう。

瞬時に指定した商品名の価格が抽出され表示されました。ほかの商品名も選択することで瞬時にその価格を抽出することができるのでぜひ試してみてください!

 

今回ご紹介した「INDEX関数」と「MATCH関数」は使いこなすのが難しい関数ですが、柔軟なデータ抽出を行うことができるため、使用頻度の高い関数となっています。
また、MOSのExcel Expertでも出題されている関数でもあるため、取得を目指している方はしっかりと身に付けておきましょう!
ぜひ、参考にしてみてください!

あおちゃ

当ブログの運営者
情報系大学在学中
持っている資格:ITパスポート、MOS Expert etc.

あおちゃをフォローする

Excelのオススメ教材はこちら!

タイトルとURLをコピーしました