Step 32:VLOOKUPの基本構文

🔍 Step 32: VLOOKUPの基本構文

実務で最も使われる関数をマスターしよう!

📋 このステップで学ぶこと

  • VLOOKUPとは何か
  • 4つの引数の意味
  • 検索値と範囲の指定方法
  • 列番号の理解
  • 完全一致と近似一致の違い

🎯 1. VLOOKUPとは

🔑 VLOOKUPの役割

VLOOKUPは、縦方向(Vertical)に検索して、対応する値を探し出す(LOOKUP)関数です。例えば、商品コードから価格を探す、社員番号から部署を探すなど、別の表から情報を引っ張ってくるときに使います。

📊 VLOOKUPのイメージ

📚 商品マスタ(参照表)
商品コード 商品名 単価
A001 ノートPC 80000
A002 マウス 2000
A003 キーボード 3500
🔍 A002を検索
単価を取得したい
✅ 売上表(入力先)
商品コード 数量 単価
A002 5 2000 ← VLOOKUP
💡 A002の単価(2000)が自動で入力される
💡 日常生活での例

住所録で「田中さん」を探して電話番号を調べる作業と同じです。名前(検索値)で探して、電話番号(取得したい値)を見つけます。VLOOKUPは、これをExcelが自動的にやってくれる機能です。

📝 2. VLOOKUPの基本構文

📋 VLOOKUPの構文(※横スクロールできます)

【VLOOKUPの構文】 =VLOOKUP(検索値, 範囲, 列番号, 検索方法) 4つの引数: ① 検索値: 何を探すか ② 範囲: どこから探すか ③ 列番号: 何列目の値を取得するか ④ 検索方法: 完全一致(FALSE)か近似一致(TRUE)か

📊 VLOOKUPの4つの引数

=VLOOKUP(検索値, 範囲, 列番号, 検索方法)
① 検索値 – 何を探すか
例: A2(商品コード「A002」が入っているセル)
または直接 “A002” と指定
② 範囲 – どこから探すか
例: E2:G10(商品マスタ全体)
⚠️ 左端の列に検索値がある範囲を指定
③ 列番号 – 何列目の値を取得するか
例: 3(範囲の左から3列目)
E列が1、F列が2、G列が3
④ 検索方法 – 完全一致か近似一致か
FALSE または 0 → 完全一致(推奨)
TRUE または 1 → 近似一致

📊 具体例(※横スクロールできます)

【具体例】 商品マスタ(E列〜G列): E列 F列 G列 2 A001 ノートPC 80000 3 A002 マウス 2000 4 A003 キーボード 3500 売上表のC2セルに単価を表示したい: A2セルに「A002」が入力されている 数式: =VLOOKUP(A2, $E$2:$G$4, 3, FALSE) 結果: 2000

📝 3. 各引数の詳しい説明

① 検索値

📋 検索値の指定方法(※横スクロールできます)

【検索値の指定方法】 ✓ セル参照: A2 ✓ 直接入力: “A002″(文字列はダブルクォートで囲む) ✓ 数値: 1001(数値はそのまま) 注意点: ・検索値は範囲の左端列に存在する必要がある ・大文字小文字は区別されない(”ABC”=”abc”) ・全角半角は区別される(”123″≠”123”)

② 範囲

📋 範囲の指定方法(※横スクロールできます)

【範囲の指定方法】 正しい指定: ✓ $E$2:$G$10(絶対参照推奨) ✓ Sheet2!$A$1:$C$100(別シート参照) 間違った指定: ✗ F2:G10(検索列が含まれていない) ✗ G2:E10(左右が逆) 重要: ・範囲の左端列に検索値が必要 ・絶対参照($)を使うと数式をコピーしやすい

📊 範囲指定の正しい例と間違った例

✅ 正しい範囲指定
E列 F列 G列
コード 商品名 単価
A001 ノートPC 80000
範囲: E2:G10
検索列(E列)が左端にある ✓
❌ 間違った範囲指定
E列 F列 G列
コード 商品名 単価
A001 ノートPC 80000
範囲: F2:G10
検索列(E列)が含まれていない ✗

③ 列番号

📋 列番号の数え方(※横スクロールできます)

【列番号の数え方】 範囲の左端を1として数える: 範囲が E2:G10 の場合: E列 = 1列目 F列 = 2列目 G列 = 3列目 注意: ・Excelの列番号(A,B,C…)ではない ・範囲内での順番を指定

📊 列番号の数え方

E列 F列 G列
列番号: 1
商品コード
列番号: 2
商品名
列番号: 3
単価
A001 ノートPC 80000
💡 単価を取得したい → 列番号は3を指定

④ 検索方法

📋 FALSEとTRUEの違い(※横スクロールできます)

【FALSE(完全一致)とTRUE(近似一致)】 FALSE または 0(推奨): ・完全一致で検索 ・検索値が見つからない場合は#N/Aエラー ・通常はこちらを使う TRUE または 1: ・近似一致で検索 ・範囲が昇順に並んでいる必要がある ・成績の評価など特殊な場合に使用 実務では99%がFALSE!
🎯 重要なポイント
  • 検索方法は必ずFALSEを指定する(省略するとTRUEになる)
  • 範囲は絶対参照($)を使う
  • 検索列は範囲の左端に含める

📝 4. 実践例

📊 例1: 商品コードから単価を取得(※横スクロールできます)

【例1: 商品コードから単価を取得】 商品マスタ(Sheet2のA列〜C列): A列 B列 C列 1 商品コード 商品名 単価 2 A001 ノートPC 80000 3 A002 マウス 2000 4 A003 キーボード 3500 売上表(Sheet1): A列 B列 C列 1 商品コード 数量 単価 2 A002 5 ←ここに単価を表示したい C2セルに入力する数式: =VLOOKUP(A2,Sheet2!$A$2:$C$4,3,FALSE) 結果: 2000

📊 例2: 社員番号から部署を取得(※横スクロールできます)

【例2: 社員番号から部署を取得】 社員マスタ(E列〜G列): E列 F列 G列 1 社員番号 氏名 部署 2 1001 田中 営業 3 1002 佐藤 開発 4 1003 鈴木 総務 B2セルに入力する数式: =VLOOKUP(A2,$E$2:$G$4,3,FALSE) A2に「1002」が入力されている場合: 結果: 開発

📊 VLOOKUPの動作イメージ

入力先(売上表)
商品コード 数量 単価
A002 5 =VLOOKUP(A2,…)
⬇ 検索
参照先(商品マスタ)
商品コード 商品名 単価
A001 ノートPC 80000
A002 マウス 2000 ← 取得!
A003 キーボード 3500
⬇ 結果
単価が自動入力される
商品コード 数量 単価
A002 5 2000

⚠️ 5. よくある間違いと注意点

⚠️ よくある間違い(※横スクロールできます)

【よくある間違い】 ❌ 間違い1: 範囲に検索列が含まれていない =VLOOKUP(A2,F2:G10,2,FALSE) → E列(商品コード)が範囲に含まれていない ✅ 正しい: =VLOOKUP(A2,E2:G10,3,FALSE) ❌ 間違い2: 列番号が間違っている =VLOOKUP(A2,E2:G10,1,FALSE) → 1列目は商品コード(検索値と同じ) ✅ 正しい: =VLOOKUP(A2,E2:G10,3,FALSE) → 3列目の単価を取得 ❌ 間違い3: 絶対参照を使っていない =VLOOKUP(A2,E2:G10,3,FALSE) → 数式をコピーすると範囲がずれる ✅ 正しい: =VLOOKUP(A2,$E$2:$G$10,3,FALSE) ❌ 間違い4: 検索方法を省略 =VLOOKUP(A2,E2:G10,3) → 省略するとTRUE(近似一致)になる ✅ 正しい: =VLOOKUP(A2,$E$2:$G$10,3,FALSE)
⚠️ #N/Aエラーが出たら

#N/Aエラーは「検索値が見つからない」という意味です。以下を確認してください:
・検索値が参照範囲に存在するか
・全角半角、スペースの有無が一致しているか
・データ型(文字列/数値)が一致しているか

📝 練習問題

練習 1
初級

商品コード「A002」の商品名を取得してください

商品マスタ(E2:G4): E列 F列 G列 2 A001 ノートPC 80000 3 A002 マウス 2000 4 A003 キーボード 3500 A2セルに「A002」が入力されている B2セルに商品名を表示したい

B2セルに入力する数式:

=VLOOKUP(A2,$E$2:$G$4,2,FALSE)

結果: マウス

解説:

  • 検索値: A2(A002)
  • 範囲: $E$2:$G$4(商品マスタ全体)
  • 列番号: 2(商品名はE列から2列目)
  • 検索方法: FALSE(完全一致)
練習 2
中級

社員番号「1002」の氏名と部署を両方取得してください

社員マスタ(E2:G4): E列 F列 G列 2 1001 田中 営業 3 1002 佐藤 開発 4 1003 鈴木 総務 A2セルに「1002」が入力されている B2セルに氏名、C2セルに部署を表示したい

B2セルに入力する数式(氏名):

=VLOOKUP(A2,$E$2:$G$4,2,FALSE)

C2セルに入力する数式(部署):

=VLOOKUP(A2,$E$2:$G$4,3,FALSE)

結果:

  • B2: 佐藤
  • C2: 開発

解説: 同じ検索値(A2)で、異なる列番号を指定することで、複数の情報を取得できます。

練習 3
上級

別シートの商品マスタから単価を取得してください

Sheet2の商品マスタ(A2:C4): A列 B列 C列 2 A001 ノートPC 80000 3 A002 マウス 2000 4 A003 キーボード 3500 Sheet1のA2セルに「A003」が入力されている Sheet1のC2セルに単価を表示したい

Sheet1のC2セルに入力する数式:

=VLOOKUP(A2,Sheet2!$A$2:$C$4,3,FALSE)

結果: 3500

解説:

  • 別シートを参照する場合は「シート名!範囲」と指定
  • Sheet2!$A$2:$C$4 のように記述
  • 絶対参照($)を使うことで数式をコピーしやすくなる
練習 4
中級

数式を下にコピーしても正しく動作するVLOOKUPを作成してください

商品マスタ(E2:G4): E列 F列 G列 2 A001 ノートPC 80000 3 A002 マウス 2000 4 A003 キーボード 3500 売上表(A列〜C列): A列 B列 C列 1 商品コード 数量 単価 2 A001 3 ? 3 A002 5 ? 4 A003 2 ? C2〜C4に単価を表示したい(C2の数式をC3,C4にコピー)

C2セルに入力する数式:

=VLOOKUP(A2,$E$2:$G$4,3,FALSE)

C2をC3、C4にコピー

結果:

  • C2: 80000
  • C3: 2000
  • C4: 3500

解説:

  • 検索値(A2)は相対参照 → コピーするとA3, A4に変わる
  • 範囲($E$2:$G$4)は絶対参照 → コピーしても固定される
  • この組み合わせで、正しく動作する

📝 Step 32 のまとめ

✅ このステップで学んだこと
  • VLOOKUPとは: 縦方向に検索して値を取得する関数
  • 4つの引数: 検索値、範囲、列番号、検索方法
  • 範囲指定: 検索列を左端に含める必要がある
  • 列番号: 範囲の左端から数える
  • 検索方法: 通常はFALSE(完全一致)を使用
  • 絶対参照: 範囲に$を付けてコピー時に固定
🎯 次のステップの予告

VLOOKUPの基本構文をマスターしました!次のSTEP 33では、「VLOOKUPのエラー処理」を学びます。#N/Aエラーを適切に処理する方法を習得します。

❓ よくある質問

Q1: VLOOKUPで左側の列を取得できますか?
できません。VLOOKUPは検索列より右側の列しか取得できません。左側の列を取得したい場合は、INDEX+MATCH関数を使うか、データの配置を変更してください(STEP 35で学習)。
Q2: 検索方法でFALSEとTRUEの違いは何ですか?
FALSE(完全一致): 検索値と完全に一致するものを探す。通常はこちらを使用。
TRUE(近似一致): 検索値以下の最大値を探す。成績評価など特殊な場合に使用。実務では99%がFALSEです。
Q3: #N/Aエラーが出る原因は?
検索値が参照範囲に見つからない場合に発生します。全角半角の違い、前後のスペース、データ型の不一致などを確認してください。次のステップでエラー処理を学びます。
Q4: 列番号を自動で指定できますか?
COLUMN関数やMATCH関数を組み合わせることで可能です。ただし、初心者のうちは直接数字で指定する方が分かりやすいです。
Q5: 数式をコピーしたら範囲がずれてしまいます
範囲に絶対参照($)を使っていないためです。範囲は $E$2:$G$10 のように $ を付けることで、コピーしても範囲が固定されます。
Q6: 検索値が重複している場合はどうなりますか?
VLOOKUPは最初に見つかった値を返します。重複がある場合は、最初の一致のみが取得されます。すべての重複を取得したい場合は、別の方法が必要です。
Q7: Googleスプレッドシートでも同じように使えますか?
はい、VLOOKUPはGoogleスプレッドシートでも同じ構文で使用できます。ただし、Googleスプレッドシートでは別シート参照の書き方が少し異なる場合があります(シート名にスペースがある場合はシングルクォートで囲む)。
📝

学習メモ

Excel・Googleスプレッドシート完全マスター - Step 32

📋 過去のメモ一覧
#artnasekai #学習メモ
LINE