
Excel関数基礎#05|VLOOKUP関数の使い方
今回のテーマは「VLOOKUP関数」の使い方です!
Excel初心者にとって避けては通れない壁No.1なのではないでしょうか。
しかし、vlookup関数を使えないと「Excelできる」とはいえないくらい、基礎中の基礎です。そして便利な関数です。
ぜひ習得していきましょう!
※できる人には簡単すぎるかもしれませんが、順次難しいスキルについても発信予定です!気になる方はフォローをお願いします!
スキ、コメントもお待ちしています。
筆者について↓

VLOOKUP関数とは
実務でこんなシーンはありませんか?
「売上成績のテーブルに従業員番号が入ってない!!」

このようなとき、1つ1つ「佐藤さんは001、鈴木さんは002、、、」と確認していくのは非常に大変です。
そんなときに使えるのがVLOOKUP関数です!
VLOOKUP関数を使えば、Excelで別の表やシートからデータを検索し、結合することが簡単にできます。
VLOOUKP関数の使い方
ではどのように使うか解説していきます。
=VLOOKUP(検索値, 範囲, 列番号, 検索の型)
検索値: 検索したい値(例: 顧客IDや商品コード)
範囲: 検索対象となるデータの範囲(最初の列には検索値を含む)
列番号: 検索対象から引き出したい列の番号(最初の列を1とする)
検索の型: 正確な一致(FALSE or 0)か、おおよその一致(TRUE or 1)かを指定
しかし、そうなんです。SUM関数のように式の中身がシンプルではなく、直感的にvlookup関数は理解が難しいのです・・・。
これが挫折するポイントだと私は思っています。
なのでまずは実際の利用シーンで考えてみましょう。
例えば、売上成績というテーブルに従業員番号がなかったので、別の社員名簿にある従業員番号を反映させたいシーンがあるとします。
その場合、VLOOKUP関数では、佐藤健太さんなら001、鈴木真一さんなら002のように、従業員番号を反映することができます。

VLOOKUP関数の覚え方
では実際のどのようにVLOOKUP関数を使うのか解説していきます。
複雑ではありますが、他の関数でも解説しているように、vlookup関数も左から順番に日本語で理解することが実はできます。

≪VLOOKUP関数の覚え方≫
(例)従業員名に該当する従業員番号を反映させたい場合
・検索値を探してください
・探すのは範囲の中からで、
・検索値が見つかったら左からn番目のセルの値を返してください
セルに『=vlookup(』と入力すると、以下のヒントが出てきます。このヒントが出たら、先ほどの覚え方を呪文のように唱えて、正しくセルを選べるようにしましょう。

少し厄介なのが、2項目の「範囲」は、検索したい列を一番左に持ってこなくてはならないということです。今回のケースでいうと、従業員名を探したいので、選択した2項目の範囲の一番左が従業員名でなくてはなりません(カラム名は違っても問題ありません)。
ここだけは慣れるしかありませんので、是非業務で試してみて、習熟度をあげていきましょう!
VLOOKUP関数の実務での使い方
実際の実務では、先ほどのように同じシート内でVLOOKUP関数を使うことは多くないと思います。
以下のように、複数シート、複数ファイルにまたがる形で、VLOOKUP関数を使う形になることが多いでしょう。

ですが、使い方としては全く同じです。
まず『=vlookup(』と入力し、検索したい「佐藤健太」(C27)を選択します。

カンマを打った後、どの範囲から「佐藤健太」を検索したいのか、範囲を選択します。
具体的には、「社員名簿」のシートタブをクリックした後、従業員名と従業員番号の2列分(今回のケースではB27:C36)を選択します。この際、従業員名が一番左になるように、範囲を選択する必要があることに注意してください。

従業員名よりも従業員番号の方が左側にある並びになっている場合は、VLOOKUP関数では対応ができません。社員名簿を並び替えるか、他の関数(XLOOKUP関数など)を使用する必要があります。
再度カンマで区切り、今回検索したい列番号を入力します。今回は「佐藤健太」を検索し、左から2番目の従業員番号を返したいため、「3」と入力します。
最後に再度カンマで区切り、0を入力後、カッコを閉じてEnterキーを押すと、、、
以下のように、佐藤健太さんの従業員番号を反映することができました。

関数の中身は、以下のようになります。

この式を鈴木さん、高橋さん、伊東さんと下方向のセルにも反映した場合は、オートフィル機能を利用しますが、今回は割愛します。また、その際は、2項目の選択範囲を絶対参照(社員名簿!$B$27:$C:$36)にすることを忘れないようにしましょう。
また、仮に社員名簿が古く、例えば加藤翔さんが社員名簿に載っていなかった場合、以下のようにエラーとなります。

この場合は、実務ではIFERROR関数を組み合わせることで、「もしエラーだったらxxを表示する」という処理ができます。例えば、空欄にするなどです。

IFERROR関数については別途解説いたします。
VLOOKUP関数の弱点
非常に便利なVLOOKUP関数ですが、弱点があります。
「左から右」への検索しかできない点です。
今回説明したように、従業員名を検索したい場合は、検索範囲のなかで従業員名を一番左に持ってこないといけないという弱点がありました。
この制約を克服するために、XLOOKUP関数や、INDEX関数とMATCH関数を組み合わせた使い方もあります。
こちらも別途解説する予定です。
本日はExcel業務からは切っても切り離せないVLOOKUP関数について解説しました。
このような発信を日々行っていますので、
・Excelを覚えたい!
・でも何から覚えればいいかわからない!
という方の参考になれば幸いです!お疲れ様でした。
※このアカウントではこのような形で解説しています。Excelだけではなく、他のスキルについても記事を書いていく予定なので、気になる方はフォローをお願いします!
スキ、コメントもお待ちしています。