
VLOOKUP関数の基本は分かったけど、いざ使おうとすると手が止まる…

もっと実践的な練習をしてVLOOKUPをマスターしたい!

今回はそんなすもリーマンのために、ExcelのVLOOKUP関数の実践的な練習問題を10問用意したよ!
各問題には、具体的なデータと、それに対するVLOOKUP関数の使い方、そして解説がついています。
基本問題から応用問題まで、ステップバイステップで解き進めることで、VLOOKUP関数を自信を持って使いこなせるようになるでしょう。

VLOOKUP関数の基本をまだ確認していない方は、こちらの記事も参考にしてくださいね!
なぜVLOOKUP関数の練習が必要なの?

VLOOKUP関数の構文やルールを理解するだけでは、実際にデータ処理を行う際に「あれ、どうすればいいんだっけ?」と迷ってしまうことがあります。
これは、VLOOKUP関数がExcelの機能の中でも特に「実践で役立つ」からこそ、多くのデータの種類や状況に対応する必要があるためです。
練習問題を解くことで、次のようなメリットがあります。


さあ、準備は良いですか?VLOOKUP関数の実践演習を始めましょう!
VLOOKUP関数実践問題10選
問題を解く前に、まずは問題をよく読み、ご自身の力でVLOOKUP関数を入力してみてください。もし詰まってしまっても大丈夫!
ヒントや解説を参考にしながら、一つずつクリアしていきましょう。

是非Excelを開いてリストをコピーして手を動かしながら問題を解いてみてください!
問題1:社員番号から氏名を取得する(基本中の基本!)
部署で管理している社員データから、社員番号をもとに社員の氏名を取得しましょう。
【データ】
社員リスト(Sheet1)
社員番号 | 氏名 | 部署 |
S001 | 山田太郎 | 営業部 |
S002 | 佐藤花子 | 開発部 |
S003 | 田中一郎 | 総務部 |
S004 | 鈴木美咲 | 営業部 |

検索シート(Sheet2)
社員番号 | 氏名 |
S002 | |
S004 | |
S001 |

【目的】 Sheet2のB列に、Sheet1の社員番号に対応する氏名を表示する。
【期待する結果】

【ヒント】
【解答】
Sheet2のB2セルに以下の関数を入力し、フィルハンドルで下方向にコピーします。
=VLOOKUP(A2,Sheet1!$A$2:$C$5,2,FALSE)
【解説】
A2
: 検索したい社員番号が入力されているセルです。Sheet1!$A$2:$C$5
: 検索対象の表の範囲です。$
で絶対参照にすることで、関数をコピーしても範囲がずれません。2
: 範囲の左端から数えて、2列目(氏名の列)のデータを取得したいので「2」を指定します。FALSE
: 完全一致で検索します。

問題2:商品コードから単価を取得する(別のシートから検索!)
商品データが入力されたシートから、商品コードをもとに単価を取得しましょう。
【データ】
商品マスター(Sheet1)
商品コード | 商品名 | 単価 |
P001 | ノート | 150 |
P002 | ボールペン | 100 |
P003 | 消しゴム | 80 |
P004 | ファイル | 300 |

注文リスト(Sheet2)
注文番号 | 商品コード | 数量 | 単価 |
1001 | P003 | 5 | |
1002 | P001 | 10 | |
1003 | P004 | 2 |

【目的】 Sheet2のD列に、Sheet1の商品コードに対応する単価を表示する。
【解答】
Sheet2のD2セルに以下の関数を入力し、フィルハンドルで下方向にコピーします。
=VLOOKUP(B2,Sheet1!$A$2:$C$5,3,FALSE)
【解説】
- 検索値はSheet2のB列の商品コード、範囲はSheet1のA2からC5です。
- 単価は範囲の3列目にあるので「3」を指定します。

問題3:検索値が見つからない場合(エラー処理の練習!)
存在しない商品コードを検索した時に、エラーが表示されないようにしましょう。
【データ】 問題2のデータを使用します。
注文リスト(Sheet2)に以下を追加
注文番号 | 商品コード | 数量 | 単価 |
1004 | P009 | 1 |

【目的】 P009のような存在しない商品コードが検索された際に、「#N/A!」エラーの代わりに「商品なし」と表示する。
【ヒント】
【解答】 Sheet2のD2セルに以下の関数を入力し、フィルハンドルで下方向にコピーします。
=IFERROR(VLOOKUP(B2,Sheet1!$A$2:$C$5,3,FALSE),”商品なし”)
【解説】
IFERROR(値, エラーの場合の値)
: VLOOKUP関数がエラーを返した場合に、「商品なし」という文字列を表示するように設定しています。

問題4:大文字・小文字、半角・全角が混在している場合(表記ゆれ対策!)
IDの表記ゆれがあるデータから、正しく部署名を取得しましょう。
【データ】
ユーザーマスター(Sheet1)
ID | 氏名 | 部署 |
user001 | Aさん | 企画部 |
USER002 | Bさん | 開発部 |
user003 | Cさん | 経理部 |
user004 | Dさん | 広報部 |

申請リスト(Sheet2)
申請No. | ID | 申請内容 | 部署 |
A001 | User002 | 資料請求 | |
A002 | user001 | 問合せ | |
A003 | user003 | 承認依頼 |

【目的】 Sheet2のD列に、IDに対応する部署名を表示する。ただし、IDには大文字・小文字や末尾に半角スペースの表記ゆれがある。
【ヒント】
【解答】
Sheet2のD2セルに以下の関数を入力し、フィルハンドルで下方向にコピーします。
=VLOOKUP(LOWER(TRIM(B2)),Sheet1!$A$2:$C$5,3,FALSE)
【解説】
TRIM(B2)
: B2セルの文字列の前後にある余分なスペース(半角スペースや全角スペース)を削除します。LOWER(TRIM(B2))
: TRIM関数でスペースを削除した後、すべての文字を小文字に変換します。これにより、Sheet1のIDと表記を揃えて検索できるようになります。必要に応じてUPPER関数
(すべて大文字に変換)を使うこともできます。

問題5:複数条件での検索(VLOOKUPの限界と対策!)
VLOOKUP関数は基本的に1つの条件でしか検索できませんが、工夫することで複数の条件で検索しているように見せることができます。
【データ】
販売実績(Sheet1)
支店名 | 商品名 | 売上 |
東京 | ノート | 5000 |
大阪 | ボールペン | 3000 |
東京 | ボールペン | 2000 |
大阪 | ノート | 4000 |

検索シート(Sheet2)
支店名 | 商品名 | 売上 |
東京 | ボールペン | |
大阪 | ノート |

【目的】 Sheet2で指定した「支店名」と「商品名」の組み合わせに対応する売上を表示する。
コメント