スポンサーリンク

VLOOKUP関数 - 表から値を探し出し、その右側にある内容を表示させる

関数の基礎

表から値を探し出し、その右側にある内容を表示

エクセルには、表から検索したい文字・値を探し出し、その右側にある内容を表示させることができる、VLOOKUP関数というものがあります。

どういう事かは文で説明するより、図を見ていただいたほうが早いでしょう。

 

VLOOKUP関数とは

エクセルに書かれているVLOOKUP関数の説明文はこうなっています。

指定された範囲の1列目で特定の値を検索し、指定した列と同じ行にある値を返します。
テーブルは昇順で並べ替えておく必要があります。

要するに、記事冒頭にも書いたとおり、表から検索したい文字を探し出し、その右側の内容を表示できるという関数です。

 

VLOOKUP関数の使い方

式:=VLOOKUP(検索値,範囲,列番号,検索方法)

小難しい単語が並んでいるので、かみ砕いて解説していきます。

 

1.検索値
表から探し出したい値のこと

 

2.範囲
表の範囲のこと

 

3.列番号
検索した文字列から、右に何列目の結果を表示したいか

 

4.検索方法
検索値と完全に一致したもののみを探すか、曖昧な検索(近似値を含めての検索)でもいいか

 

VLOOKUP関数を使ってみる

実際にVLOOKUP関数を使ってみながら、仕組みを勉強していきましょう。

基本

一番シンプルなパターン

 

列番号を変えてみる

列番号について実験してみましょう。

実験のため、基本的な部分は同じまま、表をC列まで拡大します。

そして列番号を変えてみましょう。

A:Cの表の中から、セイウチ太郎をという値を探し出し、そこを起点に列数を数えて結果を表示させています。

 

検索方法を変えてみる

検索方法は、FALSEだと完全一致、TRUEだとあいまい検索(近似値を含めての検索)になります。

完全一致はその名のとおり、完全に一致したセルを探し出す方法です。

そして大抵の場合はFALSEを使う事になります。

なので今回は、TRUEについて実験してみましょう。

そしてTRUEを使う場合、検索先の表は昇順ソートしておきましょう。

【注意】
上から探していって~と図にありますが、細かく言うと違います。
ただちゃんとソートされた表なら、結果としては同じなのと、二分探索といってもややこしいので、この場では上から~とします。

この場合、管理No114を探すという式ですが、表内に管理No114はありません。

ですが表を上から見ていったとき、管理No110も114に近いということで、見つかった事になっています。

このように、近似値を含めての検索はあまり用途がないようにも思えますが、例えば点数によって評価を判断するような表などには有効です。

この表の場合

  • 59点まで・・・ちょっとひどい
  • 60~79点・・・がんばれ
  • 80~99点・・・もういっぽ
  • 100点・・・かんぺき

という評価が表示されるようになります。

もちろん、このまま検索方法をFALSEにしてしまったら、例えば一番上の79なんて存在しませんので、エラー(#N/A)が返ってきてしまいます。

この、完全一致と近似値を含めた検索の挙動についてや、近似値を含めた検索の挙動(二分探索)について、少し詳しくまとめてみましたので、興味ありましたらこちらもぜひお読みください。

 

VLOOKUP関数の検索方法、TRUEとFALSE(近似値と完全一致)について
エクセルには、表から値を探し出し、その右側にある内容を表示する事ができる、VLOOKUP関数というものがあります。(下記記事参照) そしてこのVLOOKUP関数には、注意書きがあります。あまり気にしてる人は多くないと思いますが。 指定された...

 

二分探索(バイナリサーチ)の挙動テスト
エクセルでは、VLOOKUP関数で近似値検索(検索方法でTRUE)や、MATCH関数で検索値以下の最大値(照合の型で1)を指定した場合、上から順に検索値を探していくのではなく、全体の真ん中を調べて以上か以下を判断 を繰り返して検索値を探す、...

 

エラー表示の回避や、応用

VLOOKUP関数をそこそこ使っていると、エラー表示が気になってくるかと思います。

例えば検索値が見つからなかった場合の#N/Aなど。

ですが、 IFERROR関数やISERROR関数というものを使うことで、エラー時に好きな値を表示させることができます。

興味がありましたら、ぜひこちらの記事もご覧ください。

#N/Aなどのエラーを表示させず、代わりにコメント文を出す | エクセル小技集 (excelkowaza.com)

 

さらにVLOOKUP関数を使いこんでくると、範囲情報を別のセルに持たせてみたいといった欲も出てくると思います。

そういう時は、こちらの記事にあるINDIRECTとの合わせ技で解決できるかもしれません。

VLOOKUPの検索範囲を間接的に指定する(セル参照させる) | エクセル小技集 (excelkowaza.com)

 

 

コメント

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