【Excel】実は難しくない!VLOOKUP関数で複数の検索値を使って検索する方法

    今回はVLOOKUP関数の検索値に複数の値を指定する方法を解説します。通常はVLOOKUP関数の検索値には1つのセルの値しか指定できませんが、一工夫することで2つ以上の値を指定できます。

    複数の検索値を連結した検索キー列を作成する

    例えば下記のような表があったとしましょう。店舗番号、商品IDという2つの項目がキーとなっています。

    2つの検索値が存在する表

    この表から、店舗番号1(AAA店)、商品ID2(キュウリ)の販売額を知りたいとしましょう。この場合、店舗番号と商品IDを連結して1つの項目にします。下記の図のように、検索キーと言う列を追加して店舗番号と商品IDを連結します。

    VLOOKUP関数で複数の検索値を使う場合は連結して検索キーを作成する

    検索する側にも検索キー列を作成します。

    複数の検索値から検索キーを作成してVLOOKUP関数を使う

    そしてVLOOKUP関数に検索キーを使います。VLOOKUP(検索キー, 範囲, 列番号, FALSE)ですね。こうすると、検索キーがマッチした行の値を取得できます。

    複数の検索値から検索キーを作成した場合のVLOOKUPの式

    検索キーが重複しないように気を付ける

    ここで1つ注意点があります。そのまま連結しても良いのですが、大抵の場合、番号やコードというものは英数字が混じっています。だからそのまま連結すると該当する行が2行以上存在してしまう可能性があります。例えば下記のような場合です。

    検索キーに区切り文字を入れることで検索キーの重複を防げる

    この場合、店舗番号、商品IDともに数字です。両者ともにそのまま連結してしまうと、別の店舗の別の商品を見たいのに、検索キーが同じになってしまいます。この状態では、店舗番号11のキュウリの販売額を知りたくても、店舗番号1の蓮根の販売額を取得してしまいます。

    そのため、検索キーには区切り文字として半角ハイフン(-)や半角アンダーバー(_)を使った方が確実であると私は考えています。

    取得したい値が検索キー列の右にないといけないことに注意!

    VLOOKUP関数の注意点として、検索値の右側の列に取得したい値があることという条件があります。検索値より左側の列にある値は取得できないのです。私は最初これではまりました。一体なんで取れないの?と。列順を入れ替えたらアッサリと解決しました。

    よってこの記事で紹介している画像でも、取得したい値である販売額よりも左に検索キー列を置いています。はまると意外と気付けないので気を付けましょう。

    関連記事

    PR

    コメント

    非公開コメント

    musiccycle

    ITとデザインは強力な武器だ!と考えているプレイングマネージャー派。モノづくりと経営学が好きで戦略、ブランディング、マーケティング、会計が好き。趣味はサイクリングと楽器。

    検索フォーム

    ブログランキング

    人気ブログランキング参加中
    ブログランキング・にほんブログ村へ

    QRコード

    QR

    PR