📋 このステップで学ぶこと
- 商品マスタとの照合(売上管理)
- 価格表の自動参照(見積書作成)
- 社員マスタとの照合(給与計算)
- 複数シートからの検索
- 実務で使える応用テクニック
🎯 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)
| ホームページ制作 |
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. 名前を「商品リスト」と入力
名前の定義手順:
- Sheet2のA2:C10を選択
- 数式タブ → 名前の定義
- 名前に「商品リスト」と入力
- 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つです。
artnasekai
#artnasekai #学習メモ