キー列を使って何かの値を取得する時は、多くの人が、まずは「VLOOKUP関数」を思いつくのでは?と思います。
この関数、便利で使いやすく、使える人が多いので教えてもらえることも多く・・・とメリットは多いですが、弱点があります。それは・・・
検索結果の「左側の列」を取得できない。
この関数、「一番左の列をキーにして右側の検索結果を取得するので、左側の列には対応できない」という弱点があります。
そんな時に使えるのが、MATCH関数&INDEX関数のコラボした組み合わせです。
INDEX関数とは?
=INDEX(配列, 行番号, [列番号])
行番号と列番号のインデックスで選択された、テーブルまたは配列内の要素の値を返します。
MATCH関数とは?
=MATCH(検索値, 検索範囲, [照合の種類])
検索したい値を調べると、範囲から結果の番号を取得できます。
これらを組み合わせると、検索値の左の値を表示させることができます。
INDEX関数&MATCH関数
INDEX関数で「VLOOKUPで検索する以上の範囲」を指定することができます。
例えば、今回の場合「名前」を使って「ID」を検索することが、VLOOKUP関数ではできません。
しかし、「INDEX関数&MATCH関数」であれば可能です。
範囲指定
検索する範囲を指定します。この時に、範囲のすべて(または検索列の左の列から)指定するのがポイントです。
MATCH関数を使う
検索の行にMATCH関数を使います。
左からの列数を指定する
あとは、左からの列番号を指定すれば完成です。
MATCH関数が行数を取得してくれるので・・・
左側の値が取得できます!
まとめ
INDEX関数&MATCH関数のコラボレーションを使えば、VLOOKUP関数では取得できない列を取得することができます。
ご参考ください😃