INDEX関数+MATCH関数+VLOOKUP関数のアリな組み合わせ

Excel

INDEX関数とMATCH関数の組み合わせ

INDEX関数とMATCH関数の組み合わせは便利ですよね、VLOOKUPが使用できない状況でも問題なく必要なデータを検索して表示することができます。

INDEX関数とMATCH関数を組み合わせる使い方の説明は他の方の説明に譲るとして、今回はちょっと変わった使い方をご紹介したいと思います。





INDEX関数とMATCH関数にVLOOKUP関数を組み合わせる!!

VLOOKUP関数の検索値が可変だったらいいなぁと思うことがありました。例えば、社員リストがあって、そこから何らかの検索値で支社名を表示させたいのですが、社員リストには都道府県しか入力されていない・・・・・・とか。もちろん、都道府県をそのまま表示させてもいいのですが、ちょっとカッコ悪いなぁと思ったりしたのです。そこで、INDEX関数とMATCH関数の結果をVLOOKUP関数の検索値にツッコむというやり方を考えてみました。





とりあえずやってみる!!

用意するのは、「リスト」「作業用」「検索」の3つのシートです。それぞれ、「リスト」シートには社員のリスト的なモノ、「作業用」シートには、都道府県と支社名の組み合わせリストが、「検索」シートは結果の表示用シートです。

ちなみに「リスト」シートのデータは、「なんちゃって個人情報」というサイトのダミーデータを使わせていただきました。

なんちゃって個人情報 http://kazina.com/dummy/

「リスト」シート

「作業用」シート

「検索」シート

というわけで、結果表示用の、「検索」シートのD2セルに次の数式を入力します。

=VLOOKUP(INDEX(リスト!$E:$G,MATCH(B2,リスト!$G:$G,0),1),作業用!$A:$B,2,0)

以上!!

というのは、ちょっと乱暴だと思うので、一応解説です。





数式の解説

まずは、「検索」シートのD4セル上で、VLOOKUP関数を入力し、引数の入力ダイアログボックスを表示させます。検索値を選択した状態で、名前ボックスからINDEX関数を選択します。後は、INDEX関数とMATCH関数の組み合わせをする時と同様に、それぞれの引数を入力していきます。

INDEX関数の引数

MATCH関数の引数

VLOOKUP関数の引数

上記のように入力していくと、下の画像のように結果を表示することができます。





まとめ

INDEX関数とMATCH関数の組み合わせを使うと便利に検索することができますが、時々面倒な依頼を受けるときもあります。それは、元のリストをいじって欲しくないけど、表示結果を変えて欲しい、みたいな依頼です。個人的なファイルならテキトーに列を追加して、表示用のデータを作っても良いのですが、会社とかで共有しているファイルだと、自由にできない時があります。そんな時に、こんな方法もあるよぐらいに思っていただければ良いかと思います。ちなみに数式内で、絶対参照にしている部分がありますが、特に絶対参照にしなくても・・・・・・と思います。クセでF4キーを押してしまっている自分がいます。それはさておき、こんな感じでいかがでしょうか? という、ゆるーいご提案でした。





コメント

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