必ずわかるVLOOKUP関数。使い方や検索方法、エラーの対策まで解説
表の情報を整理したり、検索したりするのに役立つVLOOKUP関数は、人気の高さと比例して難易度も少々高い関数です。
Excelを使いこなす上では避けて通れませんので、早い内に覚えてしまった方が応用も利きます。それに他の関数を理解するときも役に立つはずです。
今回は、「VLOOKUP関数は名前だけ知っている」「VLOOKUP関数をうまく使いこなせていない…」という方に向けて、
などを解説していきます。具体例も交えて解説していきますので、実際に手を動かしながら理解を深めていきましょう。
VLOOKUPの特徴・活用シーン
「VLOOKUP」の語源から解説していくと、VLOOKUPのVは「Vertical(垂直)」の略で、LOOKUPとは英語で「探す」という意味です。
つまり、垂直に(データを)探すことができる関数ということですね。
特に、膨大なデータを扱うこともあるExcelでは、目視や検索で探すよりもVLOOKUP関数を使って探した方が、はるかに時間短縮になります。
これが非常に便利なので、VLOOKUPは人気が高くよく使われている関数です。
しかし、一方で指定する引数(ひきすう)※が4つもあり、かつ計算用途などと比べて少しイメージしづらいので、初心者がつまずきやすい関数でもあります。
引数の内容や具体的な構文については後述します。
※補足:引数(ひきすう)とは、数学やプログラミングで使われる用語で、関数に入力する値、変数のことをいいます。
特定のデータに対応する値をピンポイントで抽出できる
VLOOKUPは、その機能性から「データベースから特定のデータを参照する」ときによく使われます。
たとえば、何百行もある顧客リストから、1人分の顧客の「住所」を調べたい場合、目視やCtrl+Fの検索を利用して探していては、膨大な時間がかかってしまいます。
そういうときに活躍するのが「VLOOKUP関数」。
あらかじめ入力データをつくり、そこに顧客の名前やID番号などを入力すると、データ出力欄にその値に対応したデータを呼び出せるようにできるのです。
顧客リストや売り上げデータなどを管理する業種であれば、かならず利用する機会が訪れるといっても過言ではありません。
複数の表にまたがった情報を一元化(結合)できる
もう1つ、VLOOKUPの利用例として多いのが「複数の表にまたがった情報を一元化する」ことです。
たとえば、商品の仕入れ先・仕入れ元一覧・仕入れ元の送料などのデータをひとつの表にまとめてしまうと、表の冗長化(同じデータが重複して掲載されること)が起こりがちです。
なので、冗長化を防ぐために別々の表にまとめるのは当たり前のように行われている手法です。
ただ、別々の表にまとめていると、情報を探すのに時間がかかってしまうデメリットがあります。
このような状況でVLOOKUPを活用すれば、情報を参照したい商品名を入力欄に入力するだけで、ひとつの表にデータをまとめて表示させることができます。
VLOOKUPの使い方
続いて、具体例を交えながらVLOOKUPの使い方を説明していきましょう。
VLOOKUPを構成する4つの引数
VLOOKUPは、4つの引数で構成されています。
指定するのは、
- 検索の目印となる値(検索する値)
- 値を検索する範囲
- 検索結果を表示する列番号
- 検索結果の処理方法
の4つ。
Microsoft公式の解説によると、正式な構文の詳細は以下の通りです。
= VLOOKUP (検索する値, 値を検索する範囲, 戻り値を含む範囲の列の番号, 完全一致か近似一致か – 0/FALSE か 1/TRUE で指定)。
これを以下の例に当てはめて考えてみます。
例:Excel内A1~G1が見出し、A2~G61にデータが書かれており、うちA列には情報を参照するためのIDが1~30まで振られている商品リスト
目的:ID10番の商品名(表内左から2列目の項目)を抽出したい
- 値→ID10番の情報を参照したいので「10」
- 範囲→A2からG61のデータから抽出したいので「A2:G61」(見出し行は必要ない)
- 列番号→ID10番の「商品名」を抽出したいので、範囲内の左から「2」列目
- 完全一致→近似一致にさせる必要がないのでFALSEと入力
- =VLOOKUP(10,A2:G61,2,FALSE)
このうち、特にわかりにくいのは、3つめの列番号と4つめの検索の型だと思われます。
それぞれの役割を把握すれば理解は難しくありませんので、ひとつずつ解説していきます。
1. 検索する値
検索する値とは、正確に言えば「検索時に目印にする情報」です。顧客データごとに振り分けられたIDや商品名、個人名などがこの値となります。
たとえば、豚バラ肉の売上金額を調べたいのであれば、「豚バラ肉」と入力すれば売上金額が表示されるようにすると便利ですね。
このような使い方をしたい場合は、出力欄のVLOOKUP関数で、この値に「セル番号」を指定すればOKです。
こうすれば、豚バラ肉であってもバナナであっても、商品名に対応した売上金額が出せるようになります。
2. 検索範囲
検索範囲とは、文字通りファイル内のどこからどこまでを検索するかという指定です。
検索範囲とは、文字通りファイル内のどこからどこまでを検索するかという指定です。
ここでは、見出しを除いたA列~G列を探したいので「A2:G」と書きましょう。
列番号のみ指定することで、その後データが増えても引数を変えなくてよくなります。
3. 列番号
検索範囲内から、どこの列のデータを検索するかを探すのが「列番号」です。
注意して欲しいのが、この列番号はアルファベットではなく、数字で記述する必要があるということ。
具体的に説明すると、列番号として指定するのは、「範囲内の左から何列目か」を示す数字です。
たとえば、例であればD列の「売上金額」が知りたいので、A列から4番目のD列の情報を参照する必要がある、だから列番号の引数は「4」となるわけです。
ここが初見では理解しにくいところかと思いますが、逆にここの理屈さえつかんでしまえば、あとで応用が効きます。
4. 検索の型
4つ目の引数は、「データが見つからなかった場合(戻り値)の処理方法」を決める値です。
実を言うと、4つめの引数は記述しなくてもかまいません。値、検索範囲、列番号さえあればVLOOKUP関数は成立します。
しかし、後述する理由によってここでは「FALSE」と入れておくのがおすすめです。
なぜならFALSEと記述すると、VLOOKUP関数は「完全一致」で検索し、適切な答えが見つからなければエラー(#N/A)を出すようになるためです。
一方で何も記載しないと、完全一致ではなく近似一致で検索する「TRUE」として関数が動いてしまいます。
VLOOKUPを使いたての頃は、ほぼ完全一致での検索が主となるはずですから、ここを理解せずTRUEで動かしてしまうと、思うような働きをしてくれなくなる可能性が高いです。
そのため、最初のうちはひとまず何も考えずにFALSEにしておけば、大きな問題は出ないでしょう。
なお、TRUE(近似一致)が活躍するシーンとしては、たとえば予算表などで「指定した値の範囲内における、表内での最大値」を探したい場合などが挙げられます。
とはいえ、このあたりは応用部分ですので一旦忘れておいて、FALSEでの運用に慣れてから使ってみるのがおすすめです。
VLOOKUPをさらにうまく使うコツ
最後に、ぜひ覚えておきたい「VLOOKUP関数をさらに上手に使うコツ」もまとめておきます。
使いこなせれば表がさらにスマートになり、社内のExcelをより改善することが可能です。
検索時にエラー(#N/A)を別の文字列に変換・再検索する
FALSEでの運用ですと、完全一致以外ではエラー(#N/A)が出るようになります。
が、エラーが出っぱなしはいささかスマートではないので、エラー時は空白で出力してほしいというニーズもあるでしょう。
このような場合に役立つのが、「IFERROR」関数です。
IFERROR関数とは、「エラーが起こったときの処理方法を決める」関数のことで、IFERROR([1.参照する引数],[2.1がエラーを起こしたときの処理])で構成されます。
この構文の1に「VLOOKUP関数」を記述し、2番目の引数を「空白(””)」にすると「エラーでなければ関数の結果を表示し、エラーを起こした場合は空白を返す」構文ができあがります。
具体的な構文は、
IFERROR(VLOOKUP(○,○,○,FALSE),””)
です。
このようにIFERROR関数を使うと、VLOOKUPでエラーを起こした際に簡単に対処できるようになります。
なお、エラーになったときに別条件で検索したい場合は、後者を空白ではなく別のVLOOKUP構文にしましょう。
これにより、複数条件での検索を簡単に実現できますので覚えておいてください。
右から左に検索する表では「HLOOKUP関数」を使う
応用、もといおまけとして「HLOOKUP関数」も紹介しておきます。使い方はほとんど変わらないので、VLOOKUPの応用として覚えておくと何かと役立ちます。
HLOOKUP関数とは、「Horizontal(水平)にLOOKUPする」関数で、その名の通りV(垂直)LOOKUP関数の対になる関数です。
構文はVLOOKUPとほぼ同じで、列番号指定が行番号指定になったこと以外の違いはありません。
左から右に検索するタイプの表の時はHLOOKUP関数を使っていきましょう。
表のデータベース化が簡単にできるVLOOKUP。覚えて業務効率化に役立てよう
VLOOKUPは、表のデータベース化が簡単にできる、人気の高い関数のひとつです。以下の構文で構成されており、1回覚えてしまえばすぐに使いこなせるようになるはずです。
VLOOKUP(値,検索範囲,列番号,検索方法)
これが使えれば、膨大な表データから必要な情報を抜き出せるようになり、業務効率化に役立ちます。
VLOOKUPは、他の関数と組み合わせればさらに便利になりますので、基本的な使い方をマスターしたら応用も試してみてください。