【動画付き #25】INDEX・MATCH関数の組み合わせをマスターしよう!VLOOKUP関数よりも高度な検索が可能に!

この記事を読んでわかること
  • INDEX関数の使い方
  • MATCH関数の使い方
  • INDEX関数の行番号と列番号にMATCH関数を組み込む手順

VLOOKUP関数は左端の列からしか検索できないという制限がありました。

INDEX関数とMATCH関数を組み合わせて活用すると、検索範囲すべてのセルから検索できるようになります。

実務でも非常に活用できる関数なので、INDEX・MATCH関数をマスターして、VLOOKUP関数よりも高度に検索できるようになりましょう。

本記事はYouTube『ユースフル/スキルの図書館』チャンネルより、以下の動画を記事にまとめたものです。動画だけではなく、テキストで復習したい方もいるはず。全38の記事と動画を組み合わせて、Excelの基本操作をマスターしていきましょう。

前回記事ではVLOOKUP関数とCOUNTIF関数を組み合わせる方法をご紹介しています。ぜひご覧ください。
▼前回の記事はこちら

目次

INDEX関数の使い方

INDEX関数は、指定した行と列が交差する位置にあるデータを参照する関数です。

INDEX関数

構造:INDEX(範囲,行番号,列番号)
これで範囲中の行と列の交差するセルの値を参照することができます

たとえば、下記のような「都市間の距離シート」があります。

Excel#25の1

このとき大阪と福岡の距離を算出するためには、表中の行と列を参照する必要があります。

Excel#25の2

そこで、INDEX関数を活用して「D11」セルで都市間の距離を瞬時に算出する手順を見ていきましょう。

INDEX関数を活用する手順
  1. 「D11」セルに「=INDEX」と入力する
  2. 「B2:I9」の「都市間の距離シート」を範囲に指定する
  3. 大阪は範囲中で4行目に位置しているので行番号に「4」と入力する
  4. 福岡は範囲中で6列目に位置しているので列番号に「6」と入力する
Excel#25の3
2.「B2:I9」の「都市間の距離シート」を範囲に指定する
Excel#25の4
3.大阪は範囲中で4行目に位置しているので行番号に「4」と入力する
4.福岡は範囲中で6列目に位置しているので列番号に「6」と入力する

これで下記のように「D11」セルに大阪ー福岡間の距離である「610」とINDEX関数を活用して表示できます。

Excel#25の5

また、もし「=INDEX(B2:I9,2,6)」と行番号を「2」に変えた場合、東京ー福岡間の距離を算出することになるので、「D11」セルには「1095」と表示されます。

Excel#25の6

MATCH関数の使い方

これまでの手順では、行番号、列番号が固定値で入力しているので、算出したセルごとに毎回入力する必要がありました。これを防ぐために、MATCH関数を活用します。

MATCH関数がどのような関数かについての紹介

MATCH関数は、指定した検査値が検査範囲の中で何番目のセルかを算出する関数です。

MATCH関数

構造:MATCH(検索値,検査範囲,照合の種類)
照合の種類は、完全一致を意味する「0」を入力する
MATCH 関数を活用すると、INDEX 関数の行番号引数の値を指定できるようになる

MATCH関数の活用方法を見ていきましょう。たとえば、下記の先ほど活用した「都市間の距離シート」で大阪は「B列」の4番目に位置していました。

Excel#25の7

これをMATCH関数を活用して表示すると下記のようになります。

Excel#25の8

「=MATCH(C11,B2:B9,0)」は、「B2:B9」の検査範囲のなかに検索値である「C11」セルにある「大阪」がどこにあるのかということを意味しています。

「B2:B9」のなかで大阪は4番目に位置しているので、「G11」セルには「4」と表示されています。

Excel#25の9

福岡も同様に考え、「B2:I2」の検査範囲のなかで、6番目に位置しているので、「G12」セルには「6」と表示されます。

INDEX関数とMATCH関数を組み合わせる使い方 

先ほどまで活用していた「都市間の距離シート」です。INDEX関数の行番号と列番号にMATCH関数を活用して、都市間の距離を算出する手順を見ていきましょう。

Excel#25の10
INDEX関数とMATCH関数を組み合わせる手順
  1. 「=INDEX(B2:I9)」と入力する(第一引数である範囲は同様であるため)
  2. 第二引数である行番号に「=MATCH(C11,B2:B9,0)」と入力する
    (「C11」セルにある大阪が「B2:B9」の範囲のなかでどこに位置するかMATCH関数を活用して算出する)
  3. 第三引数である列番号に「=MATCH(C12,B2:I2,0)」と入力する
    (「C12」セルにある福岡が「B2:I2」の範囲のなかでどこに位置するかMATCH関数を活用して算出する)

これで下記のように行番号と列番号をMATCH関数を組み込んで入力できています。

Excel#25の11

すると、下記のように大阪ー福岡間の距離を「610」と適切に表示することができます。

Excel#25の12

また、行番号と列番号にMATCH関数を組み込んでいるため、「C11」セルと「C12」セルの都市名を変更するだけで、下記のように自動に距離を算出することができます。

Excel#25の13

まとめとおすすめ講座の紹介

今回のポイントは以下の2点です。

  • INDEX関数は行と列交差するセルを参照することができる関数であること
  • MATCH関数を活用すると、特定の値が範囲の何番目に位置しているのかわかる

それぞれINDEX関数、MATCH関数を理解して、組み合わせて活用することでVLOOKUP関数よりも高度な検索ができるようになります。

「もっとExcelを学びたい」
「明日から職場で即効使えるExcel技をGETしたい」

そんな方にはユースフルの公式LINEがオススメです!元伊藤忠商事経理でExcel実務のプロ、長内孝平(おさ)が運営しており

  • Excel/PowerPointなどPCショートカット288選PDF
  • Excel無料講義動画480分
  • ユースフルの講座割引クーポン

などLINE会員限定の豪華4大特典を無料でプレゼント中です!ぜひコチラ↓の画像をタップして受け取ってくださいね!

気に入ったらシェア!
  • URLをコピーしました!
目次