VLOOKUP関数の応用的な使い方

VLOOKUP関数を応用的に使う以下の方法をご紹介します。

・文字列を含む検索や抽出する方法
・複数条件でデータを絞り込む方法
・エラー値(#N/A! / #REF!)を回避する方法

文字列を含む検索や抽出する方法

VLOOKUP関数では、数字だけでなく文字列も検索や抽出できます。その場合は、検索キーや検索範囲のデータ型に注意しなければなりません。 たとえば、「商品コード」と「商品名」の対応表が以下のようにあるとします。

ExcelのVLOOKUP関数でデータ抽出(検索)する方法とは?エラー回避の方法も
(画像=『オトナライフ』より 引用)

この表から商品コード「B001」の商品名を抽出したい場合は、以下のようにVLOOKUP関数を使います。

=VLOOKUP(“B001”,A2:B6,2,FALSE)

この場合、

・検索キー:“B001”(ダブルクォーテーションで囲む)
・検索範囲:A2:B6
・列番号:2
・範囲参照:FALSE

という引数になります。この式を実行すると、「マグカップ」という結果が返ってきます。 文字列を検索するときは、検索キーをダブルクォーテーション(”)で囲むことがポイントです。

ExcelのVLOOKUP関数でデータ抽出(検索)する方法とは?エラー回避の方法も
(画像=B001を“”(ダブルクオーテーション)で囲まない場合、B1と変換されてしまいエラーが表示されます、『オトナライフ』より 引用)

また、検索範囲内のデータ型も文字列である必要があります。たとえば、「商品コード」の列が数値型だった場合は、VLOOKUP関数では正しく検索できません。

その場合は、TEXT関数などを使ってデータ型を揃える必要があります。

複数条件でデータを絞り込む方法

VLOOKUP関数は、複数条件でデータを絞り込むこともできます。その場合は、IF関数やAND関数、OR関数などの論理関数と組み合わせて使います。 たとえば、「社員番号」と「部署」と「時給」の対応表が以下のようにあるとします。

ExcelのVLOOKUP関数でデータ抽出(検索)する方法とは?エラー回避の方法も
(画像=社員番号、部署、時給を管理しているシートです、『オトナライフ』より 引用)

この表から、もっとも時給が高い「営業部」か「マーケティング部」の社員での写真番号を表示したい場合、以下の関数を使います。

=VLOOKUP(IF(AND(B2=”営業部”, C2>=3000), A2, IF(AND(B2=”マーケティング部”, C2>=3000), A2, “”)), A:C, 1, FALSE)

この場合、

・検索キー:AND(OR(B2=“営業部”,B2=“マーケティング部”),C2>=3000)(複数条件)
・検索範囲:A2:C6
・列番号:1(社員番号)
・範囲参照:FALSE

という引数になります。この式を実行すると、「1001」という結果が返ってきます。「1005」は時給3000円未満なので抽出されません。 複数条件でデータを絞り込むときは、検索キーに論理関数を使うことがポイントです。また、検索範囲内のデータ型も検索キーと一致させる必要があります。

エラー値(#N/A! / #REF!)を回避する方法(IFERROR関数)

VLOOKUP関数では、エラー値(#N/A! / #REF!)が表示されることがよくあります。

ExcelのVLOOKUP関数でデータ抽出(検索)する方法とは?エラー回避の方法も
(画像=たとえばこのようなエラーが表示されます、『オトナライフ』より 引用)

これらのエラー値は、以下のような原因で発生します。

・#N/A!:計算すべき値が見つからない場合。たとえば、検索キーに一致する値が検索範囲内に存在しない場合です。
・#REF!:検索範囲外を検索させようとしている場合。たとえば、列番号に検索範囲内の列数より大きな値を指定した場合です。

これらのエラー値は見た目も良くないですし、他のセルの計算に影響する可能性もあります。

エラー値を回避する方法は、IFERROR関数を使うことです。IFERROR関数は、「エラーかどうか判断して処理する」という意味。以下のような書式で使用します。

=IFERROR(式, エラー時の処理)

・式:エラーかどうか判断したい式です。たとえば、「VLOOKUP(A2,B2:D5,3,FALSE)」などです。
・エラー時の処理:式がエラーだった場合に実行したい処理です。たとえば、「“該当なし”」や「“”」(空白)などです。

たとえば、「社員番号」と「名前」と「部署」の対応表が以下のようにあるとします。

ExcelのVLOOKUP関数でデータ抽出(検索)する方法とは?エラー回避の方法も
(画像=社員番号、名前、部署を管理する表です、『オトナライフ』より 引用)

この表から社員番号1005の名前を抽出したい場合は、以下のようにVLOOKUP関数を使います。

=VLOOKUP(1005,A2:C5,2,FALSE)

しかし、この式を実行すると、「#N/A!」というエラー値が返ってきます。これは社員番号1005が検索範囲内に存在しないためです。

ExcelのVLOOKUP関数でデータ抽出(検索)する方法とは?エラー回避の方法も
(画像=VLOOKUPのエラーを、IFERRORで非表示にできます、『オトナライフ』より 引用)

このエラー値を回避するためには、IFERROR関数を使って以下のように書き換えます。

ExcelのVLOOKUP関数でデータ抽出(検索)する方法とは?エラー回避の方法も
(画像==iferror(VLOOKUP(1005,A2:C5,2,FALSE),”該当なし”) この式を実行すると、「該当なし」という結果が返ってきます。これはIFERROR関数がVLOOKUP関数の結果がエラーだった場合に「“該当なし”」という処理を実行したためです、『オトナライフ』より 引用)

まとめ

この記事では、ExcelのVLOOKUP関数でデータ抽出(検索)する方法とエラー回避の方法を解説しました。VLOOKUP関数はデータ分析や管理に欠かせない便利な関数ですが、使い方や注意点も多くあります。ぜひこの記事を参考にして、VLOOKUP関数をマスターしてください。

※サムネイル画像(Image:Wachiwit / Shutterstock.com)

文・オトナライフ編集部/提供元・オトナライフ

【関連記事】
ドコモの「ahamo」がユーザー総取り! プラン乗り換え意向調査で見えた驚愕の真実
【Amazon】注文した商品が届かないときの対処法を解説!
COSTCO(コストコ)の会員はどれが一番お得? 種類によっては損する可能性も
コンビニで自動車税のキャッシュレス払い(クレカ・QRコード決済)はどの方法が一番お得?
PayPay(ペイペイ)に微妙に余っている残高を使い切るにはどうすればいいの!?