知ったかぶりが多いExcelのVLOOKUP関数の使い方

VLOOKUP関数を使えない人が多い

先週、Xを見ていたらこのようなポストがあった。

派遣社員を採用するのに、「ExcelでVLOOKUPくらいの関数が使える人」って条件に入れたら、派遣会社の人に、「その条件は結構キビシイです」って言われたの思い出した

これに対して、「そうか…」や「VLOOKUPくらい使えないのか」みたいなコメントが返信されていたが、VLOOKUP関数をまともに使える人は半数もいないでしょう。

この記事ではGoogleスプレッドシートを使ってVLOOKUP関数とXLOOKUP関数について説明しています。

Googleスプレッドシートを開いて、手を動かしながら学習すると理解しやすいです。

※ ExcelとGoogleスプレッドシートのVLOOKUP関数とXLOOKUP関数の使い方は同じです。

https://sheets.new/

VLOOKUP関数が使えると自称する場合は、この記事の内容のことくらいはできたほうが良いです。

VLOOKUP関数の使い方

VLOOKUP関数の式の引数は以下のようになっています。

=VLOOKUP(検索キー, 範囲, 番号, [並べ替え済み])
知ったかぶりが多いExcelのVLOOKUP関数の使い方

例えば、A列にフルーツ、B列に価格の一覧のシートがあったとします。

E1にフルーツ名を入力すると、E2に価格を表示するシートを作成したい場合は、関数式は以下のようになります。

=VLOOKUP(E1, A2:B4, 2, FALSE)

検索する名前(検索キー)にE1を入れて、範囲にA2:B4、価格を表示するので2列目の「2」を入れて、最後に完全一致のため、FALSEを入力します。

VLOOKUP関数のサンプル

たまにVLOOKUPで第4引数を省略してFALSEを指定していない式を見かけますが、それだと近似照合となります。

=VLOOKUP(E1, A2:B4, 2)

近似照合だと「メロンパン」のような完全一致でない文字列を入力しても結果を返してしまうので、必要性がなければ必ずFALSEを指定して完全一致にしてください。

VLOOKUP関数のFALSEなしサンプル

IFNA関数でエラーを表示しない

VLOOKUP関数では検索キーが存在しないときは「#N/A」のエラーを返します。

E1が未入力の状態でも「#N/A」のエラーを返す仕様になっているので、エラーでも表示させたくない場合はIFNA関数を使用して以下のようにします。

=IFNA(VLOOKUP(E1, A2:B4, 2, FALSE), "")

VLOOKUP関数の範囲が拡張される場合

サンプルではA2:B4の範囲を指定しましたが、実際の業務ではA列とB列にデータが追加され、範囲が広がることがあります。

そんなときは範囲をA2:BにすればA列とB列の増減に対応したVLOOKUP関数の式にできます。

VLOOKUP関数のA2:Bサンプル

最近はXLOOKUP関数が使われることが多い

XLOOKUP関数は2019年にMicrosoft Excelに導入されました。

VLOOKUP関数のより柔軟で強力な代替手段として設計されているため、最近だとVLOOKUP関数ではなくXLOOKUP関数が使われることが多いです。

XLOOKUP関数の使い方は以下の通りです。

=XLOOKUP(検索キー, 検索範囲, 結果の範囲, 見つからない場合の値, 一致モード, 検索モード)

一致モードはデフォルトが完全一致となっており、検索モードも先頭から末尾に向かって検索するデフォルトのモードが使われることが多いので、ほとんどの場合は指定は不要です。

前述のVLOOKUP関数のサンプルでは以下のようになっていましたが…

=VLOOKUP(E1, A2:B4, 2, FALSE)

XLOOKUPだと以下のように短く書けます。

=XLOOKUP(E1, A2:A4, B2:B4)

検索キーはどちらも同じですが、検索範囲と結果の範囲の指定が違います。

XLOOKUP関数を使用する場合、検索範囲はA2:B4の全体ではなく、実際に検索する範囲であるA2:A4だけで良く、結果を返す列もB2:B4のように列番号ではなく、範囲で指定します。

また、XLOOKUP関数は完全一致がデフォルトなので、VLOOKUP関数のようにFALSEで完全一致を指定するような手間がありません。

さらにVLOOKUP関数ではエラーのときに何も表示させないためにIFNA関数を使用しましたが、XLOOKUP関数では第4引数が「見つからない場合の値」になっているため、ここに "" を入力すればIFNA関数を併用したVLOOKUP関数のときと同じ結果になります。

=XLOOKUP(E1, A2:A4, B2:B4, "")

XLOOKUP関数のサンプル

まとめ

  • =VLOOKUP(検索キー, 範囲, 番号, [並べ替え済み])
  • VLOOKUP関数はFALSEを指定して完全一致が望ましい
  • #N/Aを表示させたくない場合はIFNA関数を使用する
  • A2:BにすればA列とB列の増減に対応したVLOOKUP関数の式になる
  • 最近はXLOOKUP関数が使われることが多い

VLOOKUP関数の使い方について説明しましたが、最近はXLOOKUP関数を使うのが主流なので使い勝手の悪いVLOOKUP関数は使わないほうが良いでしょう。

VLOOKUP関数を使い続けると、作業効率が低いと見られたり、XLOOKUP関数を知らないスキルの低い人だとみなされる可能性があります。