VLOOKUP関数の練習問題を9問用意しました。基本の表引きから、見つからないときの「未登録」、空欄のとき、点数から評価を出す近似一致、MATCH との組み合わせ、ワイルドカード、文字の数字で #N/A になるときまで、実務でよく使う形を順番に練習できます。
問題・解答・商品の一覧が入った練習用のファイルを無料でダウンロードできます。答えはすべて実際の Excel で計算して確かめています。VLOOKUP の使い方は VLOOKUP関数の使い方 で詳しく説明しています。
練習用ファイルの使い方
- 練習用のファイルをダウンロードして開き、「問題」シートを表示します。
- 黄色のセル(E4:E12)に、問題に合う VLOOKUP の式を入れます。右の列にヒントがあります。
- 「解答」シートで、答えと式を確かめます。

商品の一覧は「商品」シートの A2:D9 にあります。式では 商品!$A$2:$D$9 のようにシート名を付けて指定します(VLOOKUPで別シートから検索する方法)。

問題の一覧
| No. | 問題 | 入力値 |
|---|---|---|
| 1 | コード 103 の商品名を出してください。 | 103 |
| 2 | コード 105 の単価を出してください。 | 105 |
| 3 | コード 107 を 3 個買ったときの金額を出してください。 | 107 |
| 4 | コード 109 は登録がありません。「未登録」と表示してください。 | 109 |
| 5 | コードが空欄のときは何も表示しないようにしてください。 | 空欄 |
| 6 | 点数 78 点の評価(評価表)を出してください。 | 78 |
| 7 | コード 102 の「分類」を、見出しの名前から列を探して出してください。 | 102 |
| 8 | 名前が「ぶ」で始まる商品の単価を出してください。 | ぶ* |
| 9 | コードが文字の「104」で入っています。商品名を出してください。 | 104 |
まずは自分で解いてみてから、下の解答と解説を見てください。
問題1の解答と解説
問題:コード 103 の商品名を出してください。(入力値は D4)
=VLOOKUP(D4,商品!$A$2:$D$9,2,FALSE)
答え:ぶどう ヒント:商品名は範囲の2列目です。
コードの列(1列目)から 103 を探し、2列目の商品名を返します。最後の FALSE は「完全に一致するものだけ」を探す指定です。
問題2の解答と解説
問題:コード 105 の単価を出してください。(入力値は D5)
=VLOOKUP(D5,商品!$A$2:$D$9,4,FALSE)
答え:150 ヒント:単価は範囲の4列目です。
単価は範囲の4列目なので、3つ目の引数を 4 にします。
問題3の解答と解説
問題:コード 107 を 3 個買ったときの金額を出してください。(入力値は D6)
=VLOOKUP(D6,商品!$A$2:$D$9,4,FALSE)*3
答え:630 ヒント:単価を出してから、個数を掛けます。
VLOOKUP で出した単価(210)に 3 を掛けると 630 です。式の中で計算を続けられます。
問題4の解答と解説
問題:コード 109 は登録がありません。「未登録」と表示してください。(入力値は D7)
=IFERROR(VLOOKUP(D7,商品!$A$2:$D$9,2,FALSE),"未登録")
答え:未登録 ヒント:見つからないときの #N/A を IFERROR で置き換えます。
109 は商品の一覧に無いので、VLOOKUP だけでは #N/A になります。IFERROR で囲むと、エラーのときに「未登録」と表示できます(IFERROR関数)。
問題5の解答と解説
問題:コードが空欄のときは何も表示しないようにしてください。(入力値は D8)
=IF(D8="","",VLOOKUP(D8,商品!$A$2:$D$9,2,FALSE))
答え:(何も表示されない) ヒント:先に IF で空欄かどうかを確かめます。
コードが空欄のまま VLOOKUP を使うと #N/A になります。先に IF で空欄かどうかを確かめ、空欄なら “” (何も無い文字)を返します(空白のとき計算しない方法)。
問題6の解答と解説
問題:点数 78 点の評価(評価表)を出してください。(入力値は D9)
=VLOOKUP(D9,評価表!$A$2:$B$6,2,TRUE)
答え:B ヒント:「以上〜未満」の表引きは、4つ目の引数を TRUE にします。
4つ目の引数を TRUE にすると、「その値以下でいちばん近い行」を探します。78 は 70 以上 80 未満なので B です。評価表は点数の小さい順に並べておく必要があります。試したところ、FALSE にすると 78 が表に無いので #N/A になりました。
問題7の解答と解説
問題:コード 102 の「分類」を、見出しの名前から列を探して出してください。(入力値は D10)
=VLOOKUP(D10,商品!$A$2:$D$9,MATCH("分類",商品!$A$1:$D$1,0),FALSE)
答え:果物 ヒント:列番号を MATCH で求めます。
MATCH(“分類”,見出し,0) で「分類」が何列目か(3)を求めて、列番号の代わりに使います。列を入れ替えても式を直さずに済みます(VLOOKUPとCOLUMNで列番号を自動にする)。

問題8の解答と解説
問題:名前が「ぶ」で始まる商品の単価を出してください。(入力値は D11)
=VLOOKUP(D11,商品!$B$2:$D$9,3,FALSE)
答え:450 ヒント:「*」は何文字でもよい記号です。範囲は商品名の列から始めます。
「ぶ*」は「ぶで始まる文字」の意味です。VLOOKUP は範囲のいちばん左の列を探すので、範囲を商品名の列(B列)から始め、単価は3列目になります(ワイルドカードの使い方)。
問題9の解答と解説
問題:コードが文字の「104」で入っています。商品名を出してください。(入力値は D12)
=VLOOKUP(VALUE(D12),商品!$A$2:$D$9,2,FALSE)
答え:キャベツ ヒント:文字の「104」と数値の 104 は別物です。VALUE で数値にします。
入力値の「104」は文字なので、数値の 104 とは一致しません。試したところ、VALUE を付けないと #N/A になりました。VALUE で数値にしてから探すと「キャベツ」が出ます(VALUE関数)。

よくある間違いの確認表
| 症状 | 考えられる原因 | 対処 |
|---|---|---|
| #N/A になる | 探す値が一覧に無い・数値と文字が違う | IFERROR で表示を決める。VALUE などで型をそろえる(問題4・9)。 |
| 違う行の値が出る | 4つ目の引数を省略・TRUE にしている | 完全一致なら FALSE を必ず書く(問題1)。 |
| 下にコピーすると結果がずれる | 範囲に $ が付いていない | 商品!$A$2:$D$9 のように固定する(絶対参照)。 |
| #REF! になる | 列番号が範囲の列数より大きい | 範囲の列数を数え直す(問題8は範囲が B〜D の3列)。 |
よくある質問
XLOOKUP でも同じ問題を解けますか?
解けます。たとえば問題1は =XLOOKUP(D4,商品!$A$2:$A$9,商品!$B$2:$B$9) で「ぶどう」になります。XLOOKUP は Microsoft 365・Excel 2021 以降で使えます(XLOOKUP関数の使い方)。
問題を自分で増やせますか?
「問題」シートの入力値(D列)を書き換えると、別の商品で練習できます。たとえば問題1の 103 を 101 にすると、答えは「りんご」になります。
解答シートの式は、どこに書いてありますか?
「解答」シートの E列に答えの式が入っていて、F列に同じ式を文字で書いてあります。E列のセルを選ぶと、数式バーにも式が表示されます。
あわせて読みたい:VLOOKUP・検索の関連記事
XLOOKUPを問題で練習したいときは、XLOOKUP関数の練習問題10問もあわせてご覧ください。

コメント