VLOOKUP関数から卒業しよう-Excel備忘録

  • このエントリーをはてなブックマークに追加
スポンサードリンク

事務仕事をしていると、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))

構成関数の役割は以下のとおり(カッコ内下線部が役割)

  1. MATCH関数でVLOOKUP関数の検索値のアドレスを探す(=VLOOKUP(検索値, 範囲, 列番号, [検索の型]))
  2. INDEX関数でVLOOKUP関数の列番号と1で探した検索値アドレスの行との交点セルを探す(=VLOOKUP(検索値, 範囲, 列番号, [検索の型]))

検索値にしたいセルが一番左にない場合、活用していただければ幸いです。

  • このエントリーをはてなブックマークに追加