Excelの表計算問題では、別の表から必要なデータを検索し、その結果を使って計算する問題がよく出題されます。特に「売価=定価×0.8」のように、VLOOKUP関数で定価を取得してから計算する形式では、検索範囲や列番号の指定ミスによって正しく答えが出ないことがあります。この記事では、仕入データ表から定価を取得し、売価を求めるVLOOKUP関数の正しい使い方を解説します。
VLOOKUPで別表から定価を取得する基本の考え方
今回のような問題では、まずVLOOKUP関数を使って仕入データ表から商品の定価を探します。その後、取得した定価に0.8を掛けて売価を計算します。
計算の流れは以下のようになります。
- 商品コードを検索する
- 仕入データ表から定価を取得する
- 取得した定価に0.8を掛ける
- 売価を表示する
つまり、VLOOKUPだけで売価を求めるのではなく、「VLOOKUPで定価を探す」という部分と「0.8を掛ける計算」の2つを組み合わせることがポイントです。
VLOOKUP関数の正しい書式
VLOOKUP関数の基本形式は以下のようになります。
=VLOOKUP(検索値,範囲,列番号,検索方法)
それぞれの意味は次の通りです。
| 項目 | 意味 |
|---|---|
| 検索値 | 探したい商品のコードなど |
| 範囲 | 検索する仕入データ表の範囲 |
| 列番号 | 取得したいデータが範囲内の何列目か |
| 検索方法 | 完全一致ならFALSEを指定 |
例えば、商品コードを検索して7列目にある定価を取得する場合は、次のような形になります。
=VLOOKUP(A2,仕入データ表!F4:L100,7,FALSE)
この場合、A2の商品コードを仕入データ表のF列から探し、範囲内の7列目の値を取得します。
売価を求めるVLOOKUP関数の作り方
取得した定価に0.8を掛ける場合は、VLOOKUP関数全体を計算式の中に入れます。
正しい形は以下のようになります。
=VLOOKUP(A2,仕入データ表!F4:L100,7,FALSE)*0.8
ポイントは、VLOOKUP関数の後ろに「*0.8」を付けることです。VLOOKUPで取得した数字に対して、そのまま割引率を計算できます。
例えば、取得した定価が5000円の場合、VLOOKUPの結果が5000となり、5000×0.8=4000円が売価として表示されます。
VLOOKUPで解けない場合によくある原因
VLOOKUPで結果が表示されない場合、数式そのものよりも範囲設定やデータ形式が原因であることが多くあります。
代表的なミスには以下があります。
- 検索する商品コードが範囲の一番左側にない
- 列番号が間違っている
- 検索方法を省略して正しい検索ができていない
- 商品コードが文字列と数値で一致していない
- 参照範囲がずれている
特にVLOOKUPは「指定した範囲の一番左の列で検索する」という特徴があります。例えば、検索したい商品コードがG列にあるのに、範囲をF列から始めている場合は正しく検索できません。
表計算準1級で覚えておきたいVLOOKUPの注意点
資格試験などの表計算問題では、関数を入力するだけでなく、参照範囲を正しく設定できるかが重要になります。
例えば、仕入データ表がF4からL100まである場合、範囲は「F4:L100」のように指定します。列番号の7は、この範囲の中で数えた列番号になります。
F列を1列目として数えるため、F・G・H・I・J・K・LでL列が7列目になります。Excel全体の列番号ではなく、VLOOKUPで指定した範囲内で数える点に注意しましょう。
VLOOKUP以外の方法も覚えておくと便利
最近のExcelでは、VLOOKUPより柔軟なXLOOKUP関数も利用できます。XLOOKUPでは検索列と取得列を自由に指定できるため、VLOOKUP特有の左側検索制限がありません。
ただし、表計算技能試験などではVLOOKUPが指定されることも多いため、基本的な仕組みは理解しておく必要があります。
実務でも古いExcelファイルではVLOOKUPが多く使われているため、VLOOKUPを使った検索と計算方法を覚えておくと役立ちます。
まとめ
仕入データ表から定価を取得して売価を計算する場合は、VLOOKUP関数で定価を検索し、その結果に0.8を掛けることで求められます。
基本の形は「=VLOOKUP(検索値,範囲,列番号,FALSE)*0.8」です。正しく結果が出ない場合は、検索範囲の左端、列番号、データ形式を確認しましょう。
VLOOKUPは表計算問題だけでなく、実際の業務でも頻繁に利用される便利な関数です。検索の仕組みを理解しておくことで、複雑なデータ処理にも対応できるようになります。


コメント