Step 34:VLOOKUPの実務活用例

💼 Step 34: VLOOKUPの実務活用例

ビジネスシーンでVLOOKUPを使いこなそう!

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

  • 商品マスタとの照合(売上管理)
  • 価格表の自動参照(見積書作成)
  • 社員マスタとの照合(給与計算)
  • 複数シートからの検索
  • 実務で使える応用テクニック

🎯 1. 商品マスタとの照合(売上管理)

売上データに商品情報を自動で追加する、最も一般的な使い方です。商品コードを入力するだけで、商品名と単価が自動入力されます。

🔑 商品マスタ照合のメリット

・商品コードを入力するだけで情報が自動入力される
・入力ミスを防げる
・商品情報が変更されても、マスタを更新するだけでOK
・データの一貫性が保たれる
📊 商品マスタとの照合の流れ
商品マスタ(Sheet2)
商品コード 商品名 単価 カテゴリー
A001 ノートPC 80,000 パソコン
A002 マウス 2,000 周辺機器
A003 キーボード 3,500 周辺機器
A004 モニター 25,000 周辺機器
⬇️ VLOOKUPで自動参照 ⬇️
✅ 売上明細(Sheet1)
日付 商品コード 商品名 数量 単価 金額
2025/01/15 A002 マウス 5 2,000 10,000
2025/01/16 A001 ノートPC 2 80,000 160,000
2025/01/17 A004 モニター 3 25,000 75,000
黄色のセルが自動入力
商品コードを入力するだけで、商品名と単価が自動で表示されます

📝 実装手順(※横スクロールできます)

【Sheet2(商品マスタ)の構成】 A列 B列 C列 D列 +———-+——–+——-+———-+ 1 | 商品コード | 商品名 | 単価 | カテゴリー | +———-+——–+——-+———-+ 2 | A001 | ノートPC | 80000 | パソコン | +———-+——–+——-+———-+ 3 | A002 | マウス | 2000 | 周辺機器 | +———-+——–+——-+———-+ (以下続く…) 【Sheet1(売上明細)の構成】 A列 B列 C列 D列 E列 F列 +———-+———-+——+—-+—-+——+ 1 | 日付 | 商品コード | 商品名 | 数量 | 単価 | 金額 | +———-+———-+——+—-+—-+——+ 2 | 2025/01/15| A002 | | 5 | | | +———-+———-+——+—-+—-+——+ 【C2セル(商品名)に入力する数式】 =IFERROR(VLOOKUP(B2,Sheet2!$A$2:$D$100,2,FALSE),”未登録”) ↑ 商品コード(B2)で検索 ↑ Sheet2のA2:D100範囲から ↑ 2列目(商品名)を取得 ↑ 見つからなければ「未登録」と表示 【E2セル(単価)に入力する数式】 =IFERROR(VLOOKUP(B2,Sheet2!$A$2:$D$100,3,FALSE),0) ↑ 3列目(単価)を取得 ↑ 見つからなければ0を返す(金額計算でエラーを防ぐ) 【F2セル(金額)に入力する数式】 =D2*E2 ↑ 数量 × 単価 で金額を計算 【数式を下にコピー】 各数式を必要な行数分コピーすれば完成!
🎯 実装のポイント

✓ 商品マスタの範囲は絶対参照($)を使う → コピーしても範囲がずれない
✓ 商品名が見つからない場合は「未登録」と表示 → 入力ミスに気づける
✓ 単価が見つからない場合は0を返す → 金額計算でエラーにならない
✓ 商品マスタの範囲は広めに指定($A$2:$D$100など)→ 新商品を追加しても数式変更不要

📝 2. 価格表の自動参照(見積書作成)

見積書で商品やサービスを選択すると、自動で価格が表示されるシステムです。見積書作成の効率が大幅にアップします。

📊 見積書システムの構築
価格表(Sheet2)
サービス名 単位 単価 備考
ホームページ制作 300,000 基本5ページ
SEO対策 月額 50,000 月次レポート付
ロゴデザイン 80,000 3案提示
✨ 見積書(Sheet1)
御見積書
作成日: 2025年1月15日
項目 数量 単位 単価 金額
ホームページ制作 1 300,000 300,000
ロゴデザイン 1 80,000 80,000
小計 380,000
消費税(10%) 38,000
合計 418,000
黄色のセルが自動入力
項目名を入力するだけで、単位と単価が自動で表示されます

📝 実装手順(※横スクロールできます)

【Sheet2(価格表)の構成】 A列 B列 C列 D列 +————–+—-+——-+————+ 1 | サービス名 | 単位| 単価 | 備考 | +————–+—-+——-+————+ 2 | ホームページ制作 | 式 | 300000 | 基本5ページ | +————–+—-+——-+————+ 3 | SEO対策 | 月額| 50000 | 月次レポート付| +————–+—-+——-+————+ (以下続く…) 【Sheet1(見積書)の構成】 A列 B列 C列 D列 E列 +————–+—-+—-+——+——+ 1 | 項目 | 数量| 単位| 単価 | 金額 | +————–+—-+—-+——+——+ 2 | ホームページ制作 | 1 | | | | +————–+—-+—-+——+——+ 【C2セル(単位)に入力する数式】 =IFERROR(VLOOKUP(A2,Sheet2!$A$2:$D$20,2,FALSE),””) 【D2セル(単価)に入力する数式】 =IFERROR(VLOOKUP(A2,Sheet2!$A$2:$D$20,3,FALSE),0) 【E2セル(金額)に入力する数式】 =B2*D2 【小計・消費税・合計の計算】 小計: =SUM(E2:E10) 消費税: =E11*0.1 ← E11が小計セルの場合 合計: =E11+E12 ← E11が小計、E12が消費税セル
💡 見積書作成の効率化ポイント

✓ 項目名を入力するだけで価格が自動入力
✓ 価格表を更新すれば、すべての見積書に反映
✓ 入力ミスを防げる(手入力による転記ミスがなくなる)
✓ 見積書作成時間を大幅短縮

👥 3. 社員マスタとの照合(給与計算)

社員番号から氏名、部署、時給などを自動で取得します。勤務表や給与計算で活用できます。

📝 給与計算システムの例(※横スクロールできます)

【Sheet2(社員マスタ)】 A列 B列 C列 D列 +——–+——+——+——+ 1 | 社員番号 | 氏名 | 部署 | 時給 | +——–+——+——+——+ 2 | 1001 | 田中 | 営業 | 1200 | +——–+——+——+——+ 3 | 1002 | 佐藤 | 開発 | 1500 | +——–+——+——+——+ 4 | 1003 | 鈴木 | 営業 | 1200 | +——–+——+——+——+ 5 | 1004 | 高橋 | 総務 | 1000 | +——–+——+——+——+ 【Sheet1(勤務表)】 A列 B列 C列 D列 E列 F列 +——–+——+—-+—-+——–+——+ 1 | 社員番号 | 氏名 | 部署 | 時給 | 勤務時間 | 給与 | +——–+——+—-+—-+——–+——+ 2 | 1002 | | | | 40 | | +——–+——+—-+—-+——–+——+ 【B2セル(氏名)】 =IFERROR(VLOOKUP(A2,Sheet2!$A$2:$D$100,2,FALSE),”退職済”) 【C2セル(部署)】 =IFERROR(VLOOKUP(A2,Sheet2!$A$2:$D$100,3,FALSE),””) 【D2セル(時給)】 =IFERROR(VLOOKUP(A2,Sheet2!$A$2:$D$100,4,FALSE),0) 【F2セル(給与)】 =D2*E2 【結果】 A列 B列 C列 D列 E列 F列 +——–+——+—-+—-+——–+——-+ 1 | 社員番号 | 氏名 | 部署 | 時給 | 勤務時間 | 給与 | +——–+——+—-+—-+——–+——-+ 2 | 1002 | 佐藤 | 開発 | 1500| 40 | 60000 | +——–+——+—-+—-+——–+——-+
✅ メリット
  • 社員番号を入力するだけで情報が自動入力
  • 入力ミスを防げる
  • 時給が変更されても、マスタを更新するだけ
  • 退職者も「退職済」と表示される
⚠️ 注意点
  • 社員マスタは常に最新の状態に保つ
  • 退職者は削除せず、「退職」の印をつける
  • 時給を0にすると給与が0円になるので注意

📚 4. 複数シートからの検索

異なるシートに保存されたデータを参照する方法です。実務ではデータ入力とマスタを別シートに分けることが多いです。

📝 複数シートからの検索パターン(※横スクロールできます)

【パターン1:同じブック内の別シート】 =VLOOKUP(A2,Sheet2!$A$2:$D$100,3,FALSE) ↑ Sheet2のA2:D100範囲から検索 【パターン2:別のブック(開いている場合)】 =VLOOKUP(A2,[商品マスタ.xlsx]Sheet1!$A$2:$D$100,3,FALSE) ↑ [ブック名]シート名!範囲 ※両方のブックを開いている必要があります 【パターン3:別のブック(閉じている場合)】 =VLOOKUP(A2,’C:\Data\[商品マスタ.xlsx]Sheet1′!$A$2:$D$100,3,FALSE) ↑ フルパスが必要(ブックを閉じても参照可能) 【パターン4:Googleスプレッドシート(別シート)】 =VLOOKUP(A2,商品マスタ!A2:D100,3,FALSE) ↑ シート名!範囲 【パターン5:Googleスプレッドシート(別ファイル)】★専用機能 =VLOOKUP(A2,IMPORTRANGE(“スプレッドシートのURL”,”Sheet1!A2:D100″),3,FALSE) ↑ IMPORTRANGE関数と組み合わせ ※初回は「アクセスを許可」する必要があります ※詳しくはSTEP 48で学習
🔑 シート参照の基本ルール

✓ シート名にスペースがある場合は、シングルクォート(’)で囲む
 例:'売上 データ'!A1:D10
✓ 別ブックを参照する場合は、ブック名を [ ] で囲む
✓ 閉じているブックを参照する場合は、フルパスが必要
✓ Googleスプレッドシートで別ファイルを参照する場合はIMPORTRANGE関数を使う(専用機能)
📊 よくあるシート構成
📄 Sheet1:売上入力
日々の売上データを入力するシート
📄 Sheet2:商品マスタ
商品コード、商品名、単価などのマスタデータ
📄 Sheet3:集計・分析
売上データとマスタを組み合わせた集計シート
💡 シート分けのメリット

・データ入力とマスタ管理を分離できる
・マスタを間違って編集するリスクが減る
・複数人で作業する際に便利
・データの見通しが良くなる

💼 5. 実務での応用テクニック

テクニック1:名前の定義を使う

📝 名前の定義で数式をシンプルに(※横スクロールできます)

【手順】 1. 商品マスタの範囲(Sheet2!$A$2:$D$100)を選択 2. 数式タブ → 「名前の定義」 3. 名前を「商品マスタ」と入力 4. OK 【数式がシンプルに】 変更前:=VLOOKUP(A2,Sheet2!$A$2:$D$100,3,FALSE) 変更後:=VLOOKUP(A2,商品マスタ,3,FALSE) ↑ 「商品マスタ」という名前で参照 【メリット】 ・数式が読みやすい ・範囲を変更する際、名前の定義を変更するだけ ・数式のメンテナンスが楽 ・他の人が見ても理解しやすい

テクニック2:複数の情報を一度に取得

📝 1つの検索キーから複数の情報を取得(※横スクロールできます)

【例:1つの商品コードから、商品名・単価・カテゴリーを取得】 B2(商品名): =IFERROR(VLOOKUP($A2,商品マスタ,2,FALSE),””) C2(単価): =IFERROR(VLOOKUP($A2,商品マスタ,3,FALSE),0) D2(カテゴリー):=IFERROR(VLOOKUP($A2,商品マスタ,4,FALSE),””) 【ポイント】 ・A2は列だけ固定($A2)→ 横にコピーしてもA列を参照 ・列番号だけ変える(2, 3, 4) ・一度に複数の情報が取得できる

テクニック3:条件付き書式と組み合わせ

📝 未登録データを色付けして見やすく(※横スクロールできます)

【手順】 1. 商品名の列(C列)を選択 2. ホーム → 条件付き書式 → 新しいルール 3. 「数式を使用して…」を選択 4. 数式:=C2=”未登録” 5. 書式で背景色を赤に設定 6. OK 【効果】 未登録の商品コードが入力されると、 商品名のセルが赤く表示される → データの修正が必要な箇所がすぐに分かる
📊 条件付き書式との組み合わせ例
商品コード 商品名 単価
A001 ノートPC 80,000
X999 未登録 0
A002 マウス 2,000
💡 効果
未登録の商品が赤く表示されるので、データの修正が必要な箇所がすぐに分かります。入力ミスの早期発見に役立ちます。

📝 練習問題

練習 1
初級

売上明細に商品名と単価を自動入力する数式を作成してください

📝 表(※横スクロールできます)

Sheet2(商品マスタ): A列 B列 C列 +———-+——–+——+ 1 | 商品コード | 商品名 | 単価 | +———-+——–+——+ 2 | P001 | りんご | 150 | +———-+——–+——+ 3 | P002 | みかん | 100 | +———-+——–+——+ 4 | P003 | バナナ | 200 | +———-+——–+——+ Sheet1(売上明細): A列 B列 C列 +———-+——+——+ 1 | 商品コード | 商品名 | 単価 | +———-+——+——+ 2 | P002 | | | +———-+——+——+ B2とC2に数式を作成してください

B2セルの数式(商品名):

=IFERROR(VLOOKUP(A2,Sheet2!$A$2:$C$10,2,FALSE),”未登録”)

C2セルの数式(単価):

=IFERROR(VLOOKUP(A2,Sheet2!$A$2:$C$10,3,FALSE),0)

結果:

A列 B列 C列 +———-+——+——+ 1 | 商品コード | 商品名 | 単価 | +———-+——+——+ 2 | P002 | みかん | 100 | +———-+——+——+

解説:

商品コード(A2)を検索キーとして、商品マスタから商品名(2列目)と単価(3列目)を取得します。IFERRORでエラー処理を追加することで、存在しない商品コードでも適切に処理できます。

練習 2
中級

見積書システムを作成してください

📝 表(※横スクロールできます)

Sheet2(価格表): A列 B列 C列 +————–+——+——–+ 1 | サービス名 | 単位 | 単価 | +————–+——+——–+ 2 | WEB制作 | 式 | 500000 | +————–+——+——–+ 3 | ロゴ作成 | 点 | 100000 | +————–+——+——–+ 4 | 名刺デザイン | 式 | 30000 | +————–+——+——–+ Sheet1(見積書): A列 B列 C列 D列 E列 +————–+—-+—-+——+——+ 1 | サービス名 | 数量| 単位| 単価 | 金額 | +————–+—-+—-+——+——+ 2 | WEB制作 | 1 | | | | +————–+—-+—-+——+——+ 3 | 名刺デザイン | 1 | | | | +————–+—-+—-+——+——+ C2、D2、E2に数式を作成し、3行目にコピーしてください

C2セルの数式(単位):

=IFERROR(VLOOKUP(A2,Sheet2!$A$2:$C$10,2,FALSE),””)

D2セルの数式(単価):

=IFERROR(VLOOKUP(A2,Sheet2!$A$2:$C$10,3,FALSE),0)

E2セルの数式(金額):

=B2*D2

結果:

A列 B列 C列 D列 E列 +————–+—-+—-+——–+——–+ 1 | サービス名 | 数量| 単位| 単価 | 金額 | +————–+—-+—-+——–+——–+ 2 | WEB制作 | 1 | 式 | 500000 | 500000 | +————–+—-+—-+——–+——–+ 3 | 名刺デザイン | 1 | 式 | 30000 | 30000 | +————–+—-+—-+——–+——–+

解説:

サービス名を入力するだけで、単位と単価が自動で表示され、金額も自動計算されます。数式を下にコピーすることで、複数の項目に対応できます。

練習 3
上級

給与計算システムを作成してください

📝 表(※横スクロールできます)

Sheet2(社員マスタ): A列 B列 C列 D列 +——–+——+——+——+ 1 | 社員番号 | 氏名 | 部署 | 時給 | +——–+——+——+——+ 2 | 1001 | 田中 | 営業 | 1200 | +——–+——+——+——+ 3 | 1002 | 佐藤 | 開発 | 1500 | +——–+——+——+——+ 4 | 1003 | 鈴木 | 営業 | 1200 | +——–+——+——+——+ Sheet1(勤務表): A列 B列 C列 D列 E列 F列 G列 +——–+——+—-+—-+——–+——+———-+ 1 | 社員番号 | 氏名 | 部署 | 時給 | 勤務時間 | 給与 | 備考 | +——–+——+—-+—-+——–+——+———-+ 2 | 1002 | | | | 40 | | | +——–+——+—-+—-+——–+——+———-+ 3 | 1005 | | | | 35 | | | +——–+——+—-+—-+——–+——+———-+ B2〜G2に数式を作成し、3行目にコピーしてください (1005は退職者として扱います)

B2セルの数式(氏名):

=IFERROR(VLOOKUP(A2,Sheet2!$A$2:$D$100,2,FALSE),”退職済”)

C2セルの数式(部署):

=IFERROR(VLOOKUP(A2,Sheet2!$A$2:$D$100,3,FALSE),””)

D2セルの数式(時給):

=IFERROR(VLOOKUP(A2,Sheet2!$A$2:$D$100,4,FALSE),0)

F2セルの数式(給与):

=D2*E2

G2セルの数式(備考):

=IF(B2=”退職済”,”給与計算対象外”,””)

結果:

A列 B列 C列 D列 E列 F列 G列 +——–+——+—-+—-+——–+——-+————+ 1 | 社員番号 | 氏名 | 部署 | 時給 | 勤務時間 | 給与 | 備考 | +——–+——+—-+—-+——–+——-+————+ 2 | 1002 | 佐藤 | 開発 | 1500| 40 | 60000 | | +——–+——+—-+—-+——–+——-+————+ 3 | 1005 | 退職済 | | 0 | 35 | 0 | 給与計算対象外| +——–+——+—-+—-+——–+——-+————+

解説:

社員番号を入力するだけで、氏名・部署・時給が自動入力され、給与が計算されます。退職者(マスタに存在しない社員番号)は「退職済」と表示され、備考欄にも注意書きが表示されます。

練習 4
上級

名前の定義を使って数式を作成してください

📝 課題(※横スクロールできます)

【課題】 練習1の商品マスタ(Sheet2!$A$2:$C$10)に 「商品リスト」という名前を定義し、 その名前を使ってVLOOKUP数式を作成してください。 【ヒント】 1. Sheet2のA2:C10を選択 2. 数式タブ → 名前の定義 3. 名前を「商品リスト」と入力

名前の定義手順:

  1. Sheet2のA2:C10を選択
  2. 数式タブ → 名前の定義
  3. 名前に「商品リスト」と入力
  4. OK

B2セルの数式(商品名):

=IFERROR(VLOOKUP(A2,商品リスト,2,FALSE),”未登録”)

C2セルの数式(単価):

=IFERROR(VLOOKUP(A2,商品リスト,3,FALSE),0)

解説:

名前の定義を使うことで、数式が読みやすくなります。「Sheet2!$A$2:$C$10」が「商品リスト」に置き換わるため、何を参照しているかが一目で分かります。また、範囲を変更する際も名前の定義を変更するだけで済みます。

📝 Step 34 のまとめ

✅ このステップで学んだこと

📦 商品マスタ照合
売上管理での活用。商品コードから商品名・単価を自動取得
📋 価格表参照
見積書の自動作成。項目名から単位・単価を自動取得
👥 社員マスタ照合
給与計算システム。社員番号から氏名・部署・時給を自動取得
📚 複数シート参照
シート間のデータ連携。データ入力とマスタを分離
💼 応用テクニック
名前の定義、複数情報の取得、条件付き書式との組み合わせ
🎯 次のステップへ

VLOOKUPの実務活用をマスターしました!次のStep 35では、INDEX+MATCH関数を学びます。VLOOKUPより柔軟で高速な検索が可能になります。

❓ よくある質問

Q1: 商品マスタが別のExcelファイルにある場合はどうしますか?
別ブックを参照する場合、ブック名を [ ] で囲みます:
=VLOOKUP(A2,[商品マスタ.xlsx]Sheet1!$A$2:$D$100,3,FALSE)
ただし、両方のブックを開いている必要があります。閉じたブックを参照する場合はフルパスが必要です。
Q2: シート名にスペースが含まれている場合はどうしますか?
シート名をシングルクォート(’)で囲みます:
=VLOOKUP(A2,'商品 マスタ'!$A$2:$D$100,3,FALSE)
スペースだけでなく、特殊文字が含まれる場合も同様です。
Q3: マスタに新しいデータを追加したら、数式を変更する必要がありますか?
範囲を広めに指定しておけば、変更不要です。例えば、現在10行しかデータがなくても、$A$2:$D$100のように100行分指定しておけば、新しいデータを追加しても数式はそのまま使えます。
Q4: 複数の情報を一度に取得すると処理が遅くなりませんか?
わずかに遅くなりますが、通常は気にならないレベルです。ただし、数千行以上のデータで複数のVLOOKUPを使う場合は、次のステップで学ぶINDEX+MATCHを使うと高速化できます。
Q5: Googleスプレッドシートで別ファイルを参照する方法は?
IMPORTRANGE関数(Googleスプレッドシート専用)を使います:
=VLOOKUP(A2,IMPORTRANGE("スプレッドシートのURL","Sheet1!A2:D100"),3,FALSE)
初回は「アクセスを許可」する必要があります。詳しくはSTEP 48で学習します。
Q6: 名前の定義はどこで確認・変更できますか?
数式タブ → 名前の管理で、定義された名前の一覧を確認・変更できます。範囲の変更や名前の削除もここで行えます。
Q7: VLOOKUPで左側の列を検索することはできますか?
VLOOKUPでは、検索列は必ず範囲の一番左に必要です。左側の列を取得したい場合は、次のステップで学ぶINDEX+MATCHを使います。これはVLOOKUPの制限の1つです。
📝

学習メモ

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

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