これは、膨大なデータから、特定のデータを
検索(lookup)したいときに有効です。

INDEX関数とMATCH関数を組み合わせれば
よいというもの。2つの関数は単体だとほぼ
出番はありませんが、組み合わせると
強力なツールになるのです。

例えば、
別のシートに商品マスターがあり、
商品番号、商品名、金額、在庫
が並んでいたとします。

集計用のシートで、
B列くらいに商品名だけ並んでいて、
C列に各商品の金額を引っ張って来たい時、

「あれ、これってvlookup関数で
できるんじゃない?」と思った方、大正解。
先に、VLOOKUPの説明をします。

VLOOKUP関数とは、
VLOOKUP(検索値, 対象の列範囲,
対象の列数, 形式)
で、検索値に相当する対象列の値を
引っ張ってくることができます。
(形式は、ややこしいので、
ここでは0と覚えてOKです)

それぞれ書くとこんな感じ。

検索値:B2(商品名のあるセル)
対象の列範囲:商品マスター!A:D(商品マスタの表範囲)
対象の列数:2(商品名から数えて何列目に金額があるか)
形式:0

便利ですね。
ただ、「対象の列数」が実はポイントです。

「商品名から数えて」なので、
商品名、金額、在庫…と、
金額やら左にあるとよいのですが、
金額、在庫、商品名…という並びだと、
「商品名から数えて」マイナス2なのかな??となりますね。
でも マイナスは使えません。

つまり
商品名は常に金額より左にないと
検索できないのが、VLOOKUPの基本。

この問題を解決できるのが、
INDEX関数とMATCH関数の組み合わせ
なのです。

長くなるので、続きは次回!

おすすめの記事