事務仕事をしていると、VLOOKUP関数が使えないExcelフォームで作成されていることはないでしょうか?そこで、VLOOKUP関数の代わりとなる関数を紹介します。
VLOOKUP関数の弱点
つぎの表をご覧ください。
この表はユニークの値が格納されているID列が左側にないため、種類・色・メーカーを抽出するのにVLOOKUP関数が使えません。わざわざ作業列を作成するのも手間ですので、INDEX関数とMATCH関数を組み合わせて、VLOOKUP関数と同じ働きを再現させる方法を紹介いたします。
VLOOKUP関数を代替する式
Excelの式は以下の通り。
=INDEX(抽出列範囲,MATCH(検索値,検索列範囲,0))
(例)上の表でID:A001の種類が何かわからなくなった時
=INDEX(A$2:A$5,MATCH("A001",$D$2:$D$5,0))
*上記の式は、A001の種類項の「シャツ」が表示されます。
代用した式の構成説明
MATCH関数
範囲内から指定した値を探して、範囲内の上から数えた行の位置を求める関数です。
式の構成は、以下のようになっています。
=MATCH(検索値,検索列範囲,0)
INDEX関数
INDEX関数は、範囲内の行列位置にあるセルの値を調べる関数です。
式の構成は、以下のようになっています。
=INDEX(範囲,列位置,行位置)
まとめ
今回紹介したVLOOKUP関数は、以下の関数で代用可能です。
=INDEX(抽出列範囲,MATCH(検索値,検索列範囲,0))
構成関数の役割は以下のとおり(カッコ内下線部が役割)
- MATCH関数でVLOOKUP関数の検索値のアドレスを探す(=VLOOKUP(検索値, 範囲, 列番号, [検索の型]))
- INDEX関数でVLOOKUP関数の列番号と1で探した検索値アドレスの行との交点セルを探す(=VLOOKUP(検索値, 範囲, 列番号, [検索の型]))
検索値にしたいセルが一番左にない場合、活用していただければ幸いです。