TOPページ > Excel・IT開発 > Excel実務のノウハウ > VLOOKUP関数で複数条件の検索に対応してみる

VLOOKUP関数で複数条件の検索に対応してみる|Excel実務のノウハウのお勉強

このエントリーをはてなブックマークに追加

VLOOKUP関数で1個の検索条件では足りないとき

ある表から必要なデータを取り出すとき、どうしても検索条件が1個では都合が悪い時があります。ただし「複数の条件であればできる」とき、VLOOKUP関数でどのような方法があるか見てみたいと思います。

VLOOKUP関数で複数条件が必要な場合

今回の説明では下記の2つの表を使います。郵便番号一覧(上段)の表に別途表(下段)の「ローマ字町域名」をVLOOKUP関数を使って表示したいと思います。
複数条件対応用のサンプルデータ

VLOOKUP関数で複数の検索条件が必要になるときは、検索される側のデータで同じ値が2個以上あるときです。つまり同じ値が2個以上あるときに「通常の」VLOOKUP関数を使うと予期しない値が表示される場合があるということです。
(詳しくは「VLOOKUP関数の落とし穴に気をつける」を見てください)

今回の表でも同様で1項目だけではうまく検索できない状態になっています。
(上記の表では「郵便番号7桁」だけでは重複データがあり、この状態でVLOOKUPを使うと予期しない結果が返ってしまいます。そのために2つの項目を使った検索を行います)
そこで二つの表に含まれている「全国地方公共団体コード」と「郵便番号7桁」の2つの項目を使って検索をします(上記の表の青い矢印のある項目)。


関数を入れる前に簡単な下準備をする

VLOOKUP関数で複数条件が必要な場合は、下準備が必要になります。
VLOOKUP関数の仕様で検索に使える条件は1個です。これは変えようがないため、表の一部を変えて対応します。言い換えると、複数条件を1つの条件に変えるための作業です。
複数条件対応用に空の列を追加
上記のようにローマ字一覧に空の列を2列作ります。なお、右側の列の「カウント」列は、重複がないか確認するための列です。「100%重複はない」というのであれば不要ですが、今回は念のため「COUNTIF関数」を使って確認します。

データとデータを&で結ぶ
このように検索する項目と項目を「&」でつなぎます。(なお、カウント(重複)確認が不要ならばこれで終了です)

次に本当にこれでユニーク(この項目の中で1つだけの値)かどうかを確認します。これは別の関数「COUNTIF関数」を使って確認します。
COUNTIF関数でデータが1個だけか確認
オートフィルタの合わせ技で確認すると「1」しかありません。これで「C列に作ったデータに重複データはない」ことが確認できました。


VLOOKUP関数を入れるときに注意すること

事前準備は終わりました。後は表にVLOOKUP関数を入れる列を用意して実際に入力しますが、ここでもポイントがあります。それはこの表でも複数条件に対応する検索文字にしておくことです。
今回の表ではA列とC列が該当します。
VLOOKUPの検索も&を使う

そして実際に関数を入れたのが下記の表です。 VLOOKUPの検索で複数を指定
このように検索値を「&」で結べば、結果的に複数条件でも検索できることになります。(試してはいませんが)この方法でやれば検索条件が3個以上でも対応可能と思われます。


複数条件で使用する際の注意点

このように複数条件の検索は案外簡単にできますが、気を付けるべき点もあります。それは、ローマ字の表に追加した列を削除してはいけないことです。削除するとVLOOKUPで指定した範囲が変わるだけでなく、ユニークな値もなくなりエラーや予期しない値が表示されてしまう恐れがあるからです。
対処としては追加した列を非表示にするなどありますが、列を物理的に削除できない点に気を付けてください。


このエントリーをはてなブックマークに追加

Excel実務のノウハウ 関連ページ


グローウィン有限会社
東京都三鷹市下連雀3-27-1 三協ビル2階-B 地図を見る
トップページ
入力代行関連
Excel・IT開発
中国アテンド
会社概要
プレスリリース
お問い合わせ
お問い合わせ内容一覧

英文ページ(English)
中文ページ
プレスリリース お問い合わせフォーム