今回はINDEX関数とMATCH関数を組み合わせる方法を解説します。
これが出来るようになる事で縦横打尽に値を取り出す事が出来ます。
簡単に自己紹介ですが私は会社員15年程経験しその中でExcelVBAを使い沢山の効率化を図ってきました。Excelの資格も取得していますので有益な情報になると思います。
縦横打尽の最強組み合わせ関数【INDEX MATCH関数】について
- INDEX関数が何それ美味しいの?という方
- MATCH関数が何それ美味しいの?という方
- 関数を組み合わせるとか難しそうという方
- 縦横打尽に値を取得したい方
- Vlookupにサヨナラを告げる気持ちがある方
上記1つでも当てはまる方は読んで下さい。
- INDEX関数の組み立て方と効果がわかる
- MATCH関数の組み立て方と効果がわかる
- 関数を組み立てる方法の理解が深まる
- 縦横打尽に値を取得出来るようになる
- 何でもかんでもVlookupに頼らなくてもよくなる
今回学ぶステップは以下の通りです
- INDEX関数とは?
- INDEX関数の構文
- INDEX関数分解式(図解)
- INDEX関数使用結果
- MATCH関数とは?
- MATCH関数の構文
- MATCH関数分解式(図解)
- MATCH関数使用結果
- INDEX関数とMATCH関数の合わせ技 ※最強
- Vlookup関数との違い
1ステップずつ学んでいきましょう。
【INDEX関数とは?】
INDEX関数は指定された行と列が交差する位置にあるセルの値を返します。
【INDEX関数構文】
=INDEX(配列, 行番号, [列番号])
それでは早速、INDEX関数の例題を見てみましょう。

【例題】
A2からC5の範囲で上から3行目、左から2行目の値を求めたい場合

セルF5に上記の式を入力する事で

セルF5には37という値が求められます。
【MATCH関数とは?】
MATCH関数は指定した範囲内で探したい数値や文字列がどの位置にあるか列番号・行番号を求める関数です。
【MATCH関数構文】
=MATCH(検査値, 検査範囲, [照合の型])
それでは、MATCH関数の例題を見てみましょう。

【例題】
①A2からC5の範囲でセルE2の筆箱が【何行目】かを求めたい場合

セルF2に上記の式を入力する事で「4」が返ってきます。

②A1からC1の範囲でセルE3の生産者が【何列目】かを求めたい場合

セルF3に上記の式を入力する事で「3」が返って来ます。

では、ついにINDEX関数とMATCH関数を組み合わせた
縦横打尽の最強の関数の組み合わせです。
INDEX MATCH構文
=INDEX(全体の検索範囲,MATCH(検索条件,検索条件範囲,照合の型),検索列)

【例題】
セルA10にポジションを入力するとそれに対応する氏名がセルB10に入力されるようにしたい場合

セルB10=INDEX(A3:D6,MATCH(A10,D3:D6,0),1)
と入力すると【山田】が求められました。
理由は後回しにしますが結論!!
Vlookupのように値を参照する場合には先ほどご紹介した【INDEX関数とMATCH関数の最強の組み合わせ】を覚えて下さい。
言い方を変えます。【理解】しておいて下さい。
関数を1つ1つ暗記するとキリがありませんので
使う時に「こういう時はINDEX MATCHの組み合わせが最適だったな」くらいに
思い出せるくらいで大丈夫です。
では最後に
Vlookup関数との違いについて解説します。
実はVlookup関数は
先ほど、ご紹介した野球名簿でポジションを入力すると氏名を参照するといった
※入力したもの(ポジション)よりも参照(氏名)が左側にある場合には使用不可なのです。
氏名を入力して、氏名に対応するポジションを返す事は可能。
入力したもの(氏名)よりも参照(ポジション)が【右側】にある為。
縦でも横でも左側や右側など制限なく柔軟に使用可能。
という事はVlookup関数を使う前に【INDEX MATCH関数】が先に思い浮かぶ
くらい実務で使い倒して下さい。
忘れた場合には、いつでもまたこの記事に戻ってきて下さい。


