【Excel】列名を指定してVLOOKUP関数を使う

Excel

VLOOKUP関数はExcelでよく使われる機能の一つですが、列番号の代わりに列の名前を使う方法を紹介します。

VLOOKUPの一般的な使い方

次の例で、商品名(F列)に商品マスタから商品名を表示させる例でみてみましょう。

図の中にも表示されていますが、VLOOKUPの書き方は
=VLOOKUP(検索値, 範囲, 列番号, [検索方法])
です。

今回の場合、検索値には「売上明細」テーブルの商品コード(E列)、範囲に商品マスタの表(A2セルからB5セルまで)、列番号に2、検索方法にFALSEを指定し、次の図のようになります。

範囲に$マークを付けているのは、範囲を固定するためです。
範囲を固定しておくと、VLOOKUP関数を設定したセルをコピーするだけで他のセルにも適用できるようになります。

列番号とは、指定された範囲の左から何番目の列かを指定するものです。
商品マスタの1番目の列は商品コード、2番目の列は商品名であり、商品名を表示させたいので「2」を指定することになります。

最後の[検索方法]はTRUE(近似一致)かFALSE(完全一致)かを指定するオプションで、今回は完全一致したものを表示したいのでFALSEにします。

これでF3セルに商品名が表示されるようになりました。
あとはそのまま下方向にコピーすると、F列すべてに商品名が表示されます。

これでVLOOKUP関数の使い方としてはOKなのですが、後から関数を見たときに分かりにくいですよね。。
次に紹介するのは、検索する範囲と列名を分かりやすくする方法です!

VLOOKUPで列名を指定する方法

VLOOKUP関数をより便利に使うには、検索対象となる範囲に「テーブル」を設定します。

テーブルの作成

「テーブル」を作成するには、まず検索対象となる範囲(この場合は商品マスタ)を選択します。
その後、挿入タブにある「テーブル」をクリックします。

そうすると、「テーブルの作成」のメッセージボックスが出てきます。
先に範囲を選択しているため、データ範囲の部分がすでに入力されており特に編集する必要はありません。もちろん、この段階で範囲を指定することも可能です。

また、今回のデータ範囲には見出しが含まれているので、「先頭行をテーブルの見出しとして使用する」のチェックも入れておきましょう。

これでOKをクリックするとテーブルが作成されます。
少しデザインが変わっていますね。
このデザインは右上の「テーブルスタイル」から変更することが可能です。

左上の「テーブル名」の部分も変更できます。
初期では「テーブル1」となっていますが、分かりやすい名称に変更しておきましょう。
今回は、「商品マスタ」と変更しておきます。

範囲→テーブル、列番号→列名を指定

それでは作成した「商品マスタ」のテーブルをもとにVLOOKUP関数を書き換えてみましょう。
修正するのは範囲と列番号の部分です。

=VLOOKUP(検索値, 範囲, 列番号, [検索方法])
それぞれ、
範囲→「商品マスタ」(今回作成したテーブル)
列番号→COLUMN(商品マスタ[商品名])
と変更します。

列番号を入力する際、テーブル名の後に” [ “を入力すると次の図のように候補が出てきますので、表示させたい「商品名」を選びましょう。

範囲と列番号を修正できれば完成です!
先ほどと同じくF列すべてにコピーしておきましょう。

このテーブル機能を使うと、商品マスタで新しい行や列が追加されてもVLOOKUP関数は変更する必要がありません。

VLOOKUP関数を使うときは、必ずテーブルを作成してもいいぐらい便利な機能だと思います!

注意点

とても便利なテーブル機能ですが、VLOOKUPで列名指定する場合は、必ず検索したい値(今回でいう商品コード)がA列にないとできないという制約があります。

A列以外でもできるようにする方法はありますが、分かりやすさの点からも、A列に検索したい値をもってくることをおすすめします。

VLOOKUPは別シートでも参照できますので、参照したいテーブルが複数ある時なども別シートで作成するとよいです。

コメント

タイトルとURLをコピーしました