INDEX関数とMATCH関数を組み合わせた使い方【Excel】

〈景品表示法に基づく表記〉当サイトはアフィリエイトプログラムを利用しています。

INDEX関数とMATCH関数を組み合わせた使い方【Excel】

この記事では、INDEX関数とMATCH関数を組み合わせた使い方を解説していきます。

また、MATCH関数をVLOOKUP関数、HLOOKUP関数への応用する方法も解説しますので、ぜひ最後までご覧ください。

✅ この記事で解決できる悩み

  • INDEX関数とMATCH関数を組み合わせた使い方を知りたい
  • MATCH関数のVLOOKUP関数、HLOOKUP関数への応用方法も知りたい
  • 実際の仕事に活かせるMATCH関数の使い方を知りたい

✅ 記事の信頼性

profile


<想定機種>
この記事は、下記機種を想定して書いています。

💻 Windows、Mac
💻 ノート、デスクトップ、一体型、自作パソコン


【Excel】INDEX関数とMATCH関数を組み合わせた使い方

【Excel】INDEX関数とMATCH関数を組み合わせた使い方

この記事では関数の挿入を使い、関数を入れていきます。
直接関数を入力する方法、関数の挿入を使う方法の違いは、下記記事で解説しています。
»関数の入れ方【EXCEL/直接入力と関数の挿入の使い方】

それでは、以下の順番で見ていきましょう。

INDEX関数とMATCH関数のおさらい

具体的な解説に入っていく前に、出てくる関数の使い方をしっかり押さえてから読み進めましょう。
INDEX関数、MATCH関数の使い方は、下記記事で詳しく解説しています。

INDEX関数というのは、探している値が範囲(表)の中の何行目、何列目にあるかがわかっていれば、そこにある値を取ってこれる関数でしたね。
逆に言うと、何行目、何列目にあるかがわかっていないと、使えないものでした。

MACTH関数がどういった関数だったかというと、探している検査値が範囲(表)の中の何行目、何列目にあるのかを教えてくれるものでした。

つまり、2つの関数を組み合わせてできることは、下記の通りです。

  1. MATCH関数で行番号、列番号を探し出す
  2. その行番号、列番号をINDEX関数に入れ、探している値を取ってくる

INDEX関数に当てはめて考えると、以下のようになります。

INDEX(配列,行番号,列番号)

この行番号、列番号にMATCH関数を当てはめます。

  • 配列 …配列
  • 行番号…MATCH関数で探してきた行番号
  • 列番号…MACTH関数で探してきた列番号

つまり、以下のように書くことができます。

INDEX(配列,MATCH関数で探してきた行番号,MACTH関数で探してきた列番号)

それでは、具体例を見ながら、INDEX関数とMATCH関数を組み合わせた使い方をマスターしていきましょう。

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

ここからは、具体例を見ながら、INDEX関数とMATCH関数を組み合わせた使い方を解説していきます。

文房具の単価と在庫数の管理表を使い、次のような例を考えてみます。

INDEX関数とMATCH関数を使い、以下の表からノートの在庫数を求めてみましょう。

文房具の単価と在庫数の管理表

上記画像は3行×5列なので、『ノートの在庫数は?』と聞かれたら、すぐに50とわかります。
では、この表が100×100だったり、別のシートにあるときはどうでしょうか。

探すのはかなり面倒ですね。

そういう時に使えるのが、INDEX関数とMATCH関数の組み合わせです。
INDEX関数だけでもできないことはないですが、100行ある中のどこに『在庫数』があるのかを探してくるのは現実的ではないですね。

ということで、それらを解決する方法を見ていきましょう。

文房具の単価と在庫数の管理表

まずは、MATCH関数を使い、在庫数、ノートがそれぞれ何行目、何列目にあるのか求めます。

MATCH関数で行番号、列番号を求める

MATCH関数の決まり

在庫数の行番号は、以下のように求めることができます。

  • 検査値  …在庫数
  • 検査範囲 …A1:A3
  • 照合の種類…0

式で書くと、下記のようになります。

=MATCH(“在庫数”,A1:A3,0)

次は、ノートの列番号を求めてみましょう。

  • 検査値  …ノート
  • 検査範囲 …A1:E1
  • 照合の種類…0

式で書くと、下記のようになります。

=MATCH(“ノート”,A1:E1,0)

在庫数もノートも文字列なので、 ” を忘れないようにしましょう。

これを使って、INDEX関数を完成させます。

求めた行番号、列番号をINDEX関数の関数に入れる

INDEX関数の決まり

  • 配列 …A1:E3
  • 行番号…MATCH(“在庫数”,A1:A3,0)
  • 列番号…MATCH(“ノート”,A1:E1,0)
=INDEX(A1:E3,MATCH(“在庫数”,A1:A3,0),MATCH(“ノート”,A1:E1,0))

これで、ノートの在庫数が取ってこれましたね。

MATCH関数をVLOOKUP関数、HLOOKUP関数へ応用する方法

MATCH関数をVLOOKUP関数、HLOOKUP関数へ応用する方法

具体的な解説に入っていく前に、出てくる関数の使い方をしっかり押さえてから読み進めましょう。
MATCH関数、VLOOKUP関数、HLOOKUP関数の使い方は、下記記事で詳しく解説しています。

基本的にはINDEX関数のときと同じ方法になります。

というのも、VLOOKUP関数、HLOOKUP関数には、それぞれ以下のように列番号、行番号が入っています。

  • VLOOKUP(検索値、範囲、列番号、検索方法)
  • HLOOKUP(検索値、範囲、行番号,検索方法)

この列番号、行番号を探してくるのに、MATCH関数を使えば良いんですね。

文房具の単価と在庫数の管理表

まずは、VLOOKUP関数でノートの在庫数を取ってきてみます。

  • 検索値 …在庫数
  • 範囲  …A1〜E3
  • 列番号 …MATCH(“ノート”,A1:E1,0)
  • 検索方法…False
=VLOOKUP(“在庫数”,A1:E3,MATCH(“ノート”,A1:E1,0),False)

次はHLOOKUP関数でノートの在庫数を取ってきてみます。

  • 検索値 …ノート
  • 範囲  …A1〜E3
  • 行番号 …MATCH(“在庫数”,A1:A3,0)
  • 検索方法…False
=HLOOKUP(“ノート”,A1:E3,MATCH(“在庫数”,A1:A3,0),False)

このように、行番号、列番号を使う関数にはMATCH関数を使うことができます。
そして、MATCH関数を使うことにより、完全に自動で値を取ってきてくれるわけですね。

まとめ:【Excel】INDEX関数とMATCH関数を組み合わせた使い方

この記事では、INDEX関数とMATCH関数の組み合わせた使い方をメインに、VLOOKUP関数、HLOOKUP関数への応用方法も解説しました。

行番号、列番号が必要な関数のときは、MATCH関数を使うと便利になるということですね。
応用のきく関数ですので、ぜひ押さえておきましょう。

関数のみになりますが、順序立てて学べるように、記事を書きました。
このブログで勉強される方は、下記記事をどうぞ。
»【Excel】関数の教科書【基礎〜上級:17記事で解説】

Excelついて、『基本的な内容を広く知りたい』という方は、下記の書籍がおすすめです。
»FOM出版 よくわかるExcelシリーズ

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