ExcelでVLOOKUP関数の使い方をお探しですね。
広告
ExcelのVLOOKUP関数を使いこなそう!データ検索を自動化して作業を楽にする方法
Excelで商品リストや社員名簿、売上データなんかを扱っていると、「コードを入れたら自動で商品名や値段が出てきたらいいのに…」って思うことありませんか?別のシートにある表から必要な情報だけをパッと取り出せたら便利ですよね。
そんなときに活躍するのが**VLOOKUP関数**です。
VLOOKUPが使えるようになると、目で探してコピペする手間が減って、入力ミスも防げます。
この記事では、VLOOKUP関数の基本的な使い方から、別シートのデータを参照する方法、よくあるエラーの対処法まで、初心者の方にもわかりやすく説明していきます。
VLOOKUP関数って何?表からデータを探して取り出す便利ツール
VLOOKUP関数は、Excelの表を縦方向に検索して、条件に合った行から指定した列の値を取り出してくれる関数です。
名前の「V」は「Vertical(縦)」の意味なんですよ。
例えば、商品コードを入力したら商品名や価格が自動で表示されたり、社員番号から氏名や部署を表示したりできます。
大量のデータから目で探すのって時間がかかるし、見間違いもしやすいですよね。
でもVLOOKUPを使えば、探したい値に対応するデータを自動で見つけてくれるんです。
VLOOKUPの基本の形は、こんな感じです:
“`
=VLOOKUP(検索値, 範囲, 列番号, 検索方法)
“`
それぞれの意味はこうなります:
– **検索値**:探したい値(商品コードとか)
– **範囲**:検索する表全体
– **列番号**:取り出したいデータが範囲の左から何列目にあるか
– **検索方法**:完全一致か近似一致か
実際の仕事では、商品コードや社員番号みたいに「ピッタリ一致する値」を探すことが多いので、検索方法には基本的に「**FALSE**」を指定します。
これを省略すると近似一致として扱われることがあって、思った結果と違うものが出てくることがあるので注意してくださいね。
具体例で見てみよう
A列に商品コード、B列に商品名、C列に単価がある表があるとします。
E2セルに入力した商品コードに対応する商品名を取り出したい場合は、こう書きます:
“`
=VLOOKUP(E2, A2:C100, 2, FALSE)
“`
この式は「E2の値をA2からC100の範囲の一番左の列で探して、見つかった行の2列目(商品名)を返してね」という意味です。
単価を取り出したいときは、列番号を3に変えればOKです。
VLOOKUPって最初は難しそうに見えますが、「**何を探すか**」「**どの表から探すか**」「**何列目を返すか**」の3つを順番に考えていけば、意外とシンプルなんですよ。
VLOOKUP関数の使い方と引数の考え方
VLOOKUPを正しく使うには、4つの引数の役割をしっかり理解することが大事です。
特に初心者の方がつまずきやすいのが、**検索値が範囲の一番左の列にないと検索できない**という点です。
例えば、商品名をもとに単価を探したい場合、指定する範囲の一番左の列に商品名が入っている必要があります。
検索値が2列目や3列目にあると、VLOOKUPはうまく検索できず、「#N/A」というエラーが出てしまいます。
表のどの列を起点に検索するのか、先に確認してから範囲を指定しましょう。
引数の意味を整理しよう
– **検索値**:探したい値
– **範囲**:検索対象の表
– **列番号**:取り出したい列の位置
– **検索方法**:一致条件(完全一致か近似一致か)
文字列を数式に直接書く場合は「”りんご”」みたいにダブルクォーテーションで囲みますが、実際の作業ではセル参照を使う方が便利です。
例えば:
“`
=VLOOKUP(B2, $G$2:$H$100, 2, FALSE)
“`
こうすれば、B2の商品名に応じて価格表から単価を自動で取得できます。
絶対参照を使いこなそう
数式を下にコピーするときは、範囲を**絶対参照**にすることも重要です。
絶対参照っていうのは、セル番地に「$」マークを付けて、参照範囲を固定する方法です。
例えば「G2:H100」のままコピーすると、行がずれて「G3:H101」「G4:H102」みたいに参照範囲も一緒に動いちゃいます。
でも「$G$2:$H$100」と指定しておけば、数式をコピーしても価格表の範囲はそのまま固定されます。
VLOOKUPで複数行に同じ検索式を使う場合は、**検索値は相対参照、表の範囲は絶対参照**にするのが基本です。
FALSEとTRUEの違い
検索方法の「FALSE」と「TRUE」の違いも知っておきましょう。
– **FALSE**:完全一致。
検索値と完全に同じ値がある場合だけ結果を返す
– **TRUE**:近似一致。
数値の範囲判定などに使えるが、検索対象の列を昇順に並べておく必要がある
商品コード、社員番号、取引先コードみたいに一意の値を探すケースでは、ほとんどの場合FALSEを指定します。
VLOOKUPで思った結果が出ないときは、まず検索方法がFALSEになっているか確認すると、原因が見つけやすくなりますよ。
別シートや別の表からVLOOKUPでデータを取得する方法
VLOOKUP関数は、同じシート内の表だけじゃなくて、**別のシートにある表**からもデータを検索できます。
これがすごく便利なんです!
別シートを参照する場合は、範囲の前に「**シート名!**」を付けます。
例えば、今いるシートで商品コードを入力して、「商品マスタ」シートにある一覧表から商品名を取得したい場合は、こう書きます:
“`
=VLOOKUP(A2, 商品マスタ!$A$2:$D$100, 2, FALSE)
“`
この式は、A2の商品コードを商品マスタシートのA列から探して、該当する行の2列目にある商品名を表示してくれます。
別シート参照の入力方法
別シート参照は手入力でもできますが、慣れないうちは**マウス操作で範囲を選択**する方が簡単で間違いも少ないです。
手順はこんな感じ:
1. 数式を入力して「=VLOOKUP(A2,」まで書く
2. 参照先のシート(商品マスタなど)をクリック
3. 対象の表範囲をドラッグして選択
4. Excelが自動で「商品マスタ!A2:D100」みたいな形式を入力してくれる
5. F4キーを押して絶対参照にする($マークが付く)
6. 列番号とFALSEを入力して完成!
シート名にスペースや記号が含まれる場合は「’商品 マスタ’!$A$2:$D$100」みたいにシート名がシングルクォーテーションで囲まれますが、Excelが自動でやってくれるので気にしなくて大丈夫です。
別シートを使うメリット
別シートを使う最大のメリットは、**データを一元管理できる**ことです。
例えば、受注入力シートには商品コードと数量だけを入力して、商品名や単価は商品マスタシートからVLOOKUPで取得する仕組みにすれば、価格が変わったときも商品マスタを修正するだけで、関連するすべてのシートに自動で反映されます。
部署ごとの売上表、社員名簿、顧客リストなんかでも同じ考え方が使えます。
参照元を1つにまとめることで、同じ情報を何箇所も更新する手間が減るし、古い情報が残っちゃうリスクも減らせるんです。
別ファイル参照について
別のExcelファイルの表を参照することもできますが、初心者の方にはまず**同じブック内の別シート参照**から始めることをおすすめします。
別ファイル参照は、ファイル名や保存場所が変わるとリンク切れが起きやすいし、共有フォルダやクラウド環境ではアクセス権限の影響も受けます。
業務で使う場合は、参照元ファイルを移動しない、ファイル名を勝手に変更しない、更新担当者を決めるといった運用ルールが必要です。
VLOOKUPは便利な関数ですが、参照先の管理があいまいだとエラーや古いデータの原因になるので、表の設計もあわせて考えることが大切ですよ。
VLOOKUPでよくあるエラーと失敗しないコツ
VLOOKUPを使っていると、いくつかのエラーに出会うことがあります。
でも原因がわかれば対処は簡単なので、代表的なエラーと対処法を見ていきましょう。
「#N/A」エラー
VLOOKUPで一番よく出るのが「**#N/A**」エラーです。
これは「検索値が見つかりません」という意味です。
よくある原因:
– 検索値が表に存在しない
– 検索範囲の一番左の列が間違っている
– 文字列と数値の形式が一致していない
– 余分なスペースが入っている
例えば、見た目は「001」と同じでも、一方が文字列でもう一方が数値として扱われていると一致しません。
商品コードや社員番号みたいに先頭にゼロが付くデータは、**表示形式をそろえてから検索する**ことが大事です。
「#REF!」エラー
「**#REF!**」エラーは、列番号の指定ミスで起こることがあります。
例えば、範囲をA2:C100の3列に指定しているのに、列番号を4と入力すると、範囲内に4列目が存在しないのでエラーになります。
また、参照していた列を削除した場合にも#REF!が表示されることがあります。
VLOOKUPを使った表を編集するときは、**参照元の列を安易に削除しない**ようにしましょう。
列の追加や削除が多い表では、列番号がずれるリスクがあるので、表の構造を固定するか、必要に応じてXLOOKUP関数など別の方法も検討すると安心です。
エラーを見せない工夫
エラー表示を見せたくない場合は、**IFERROR関数**と組み合わせる方法があります。
“`
=IFERROR(VLOOKUP(A2, 商品マスタ!$A$2:$D$100, 2, FALSE), “未登録”)
“`
こうすれば、検索値が見つからない場合に「未登録」と表示できます。
空白にしたい場合は、最後の部分を「””」にします。
ただし、IFERRORはエラーを見えなくする関数でもあるので、原因を確認しないまま使うとデータの不備に気づきにくくなることがあります。
入力チェック用の列では「未登録」と表示して、帳票用の列では空白にするなど、**目的に応じて使い分ける**とよいでしょう。
実務で失敗しないコツ
実務でVLOOKUPを安定して使うには、関数だけじゃなくて**表の作り方**も大切です。
基本のルール:
– 検索に使うコードは重複させない
– 見出し行とデータ行を分ける
– 参照範囲を絶対参照にする
– 検索方法は原則FALSEにする
この基本を守るだけで、ミスは大きく減ります。
また、同じ表を何度も参照するなら、商品マスタや社員マスタみたいに「**正しい情報を置く場所**」を決めておくと管理しやすくなります。
VLOOKUPは古くから使われている定番関数ですが、別シートや表からデータを検索・抽出する基本を身につければ、日々のExcel作業を大幅に効率化できます。
最初は難しく感じるかもしれませんが、何度か使っているうちに慣れてくるので、ぜひチャレンジしてみてくださいね!
広告
