EXCELで表検索ならINDEX・MATCH関数が使いやすい

仕事上、EXCELやスプレッドシートなど表計算ソフトを使用する事が多くあります。
データを纏めた表をもとに、集計や検索などを行うのですが、今回はEXCELで使用する際の関数として、検索を目的とした関数のINDEX・MATCH関数について非常に使い勝手が良いのでご紹介します。

データを検索する関数といえば

LOOKUP、INDEX、OFFSET関数など、一番聞いたり使用した関数と言えばVLOOKUP関数では無いでしょうか?
仕事やパソコン教室などで使用したり、習ったりする場合が多いと思いますので、感覚的にご使用している方が多いかと思います。
この関数の役割として、正式なMicrosoftリファレンスにどう書かれているかと言うと下記です。

VLOOKUP 関数 配列の左端列で特定の値を検索し、対応するセルの値を返します。
= VLOOKUP (検索する値, 値を検索する範囲, 戻り値を含む範囲の列の番号, 完全一致か近似一致か – 0/FALSE か 1/TRUE で指定)。
Micrsoft検索/行列関数 (リファレンス)から引用

「配列」と言う所は簡単な考え方をすると、「表の範囲内(行列内)」という事になります。
VLOOKUP関数とINDEX・MATCH関数の違いを分かる様にそれぞれの関数の流れを見てみます。

VLOOKUP関数の使い方

下記の様な表があるとします。

IDに数値を入れると、商品名・金額が自動に表示される

ここでは、ID欄(C11)に入力した数字が一致した場合に、商品名と金額がそれぞれD11、E11に表示されるようになります。
D11には「=VLOOKUP(C11,B2:F8,2,FALSE)」D12には「=VLOOKUP(C11,B2:F8,5,FALSE)」が入力されております。

使い方として検索する値を「C11」にいれたいので、「=VLOOKUP(C11」になり、その検索させる範囲は「,B2:F8」のデータが入っている範囲を選択し、どの値を返してほしいかの列「,2(若しくは,5)」を選択し、最初の検索する値と一致した場合「,FALSE)」と言う条件を指定させます。

注意点としては、検索させる値(C11)と言うのは、検索させる範囲は「,B2:F8」の一番左端にないと検索が出来ません。
例えば、商品名をもとにIDと金額を検索させたいと言う場合には、このままでは表示がされません。

商品名からIDを検索させるという事はVLOOKUP関数には出来ない

表の左端しか検索が出来ないという制約は実際に使用していると非常に厄介になってきますので、この関数の代わりとなるINDEX・MATCH関数について説明致します。

INDEX関数とは

この関数については、簡単にいえば範囲内にある場所の値を返す、という事ができます。
この関数単体では、特定の値を取り出すためには、その行・列の指定をしてやらないと検索という事まで出来ませんが、MATCH関数と組み合わせる事により、VLOOKUP関数よりも柔軟に検索をする事が可能になります。

商品名・金額についてはINDEX関数単体では直接指定しなければいけない

商品名の所(D11)に「=INDEX(B2:F8,1,2)」と入力する事で「B2からF8の範囲内」の「1行目」、「2列目」のデータ(C2セルの値)を返す事になります。

MATCH関数とは

この関数は検索値が範囲内のどこにあるのか?を調べる事が出来ます。
また検索する値が完全一致(0)、検査値の最少(1)、検査値の最大(-1)の指定も可能ですが、良く使うのは完全一致(0)しているかどうかを指定するだけで充分になります。

IDが「300」は選択範囲内のどこにあるのか?

D11に「=MATCH(C11,B2:B8,0)」を入力する事で、ID300(C11)の値が「B2からB8の範囲内」で「完全一致(0)」する場所(B6セル)の値を返す事になります。

INDEX+MATCH関数を組み合わせると

INDEX、MATCH関数を組み合わせる事で、VLOOKUP関数の様に検索させる事は可能です。
また、検索させる値についても左端にある必要がなくなる為に、検索したい値だけ判明して、それがどこにあるのかわかれば、自由に検索をさせる事が可能となります。

INDEXとMATCH関数の使い方

INDEXとMATCH関数の使い方の説明


結果としては、VLOOKUP関数と同じ結果が出力されますが、左端に検索する値がなくても、同じ考えをする事で検索する事が可能になり、選びたいものが自由自在になる事が非常にメリットになります。

この考え方をすると、この様に商品名からIDを探したい場合も可能になります。

関数の中身としてはこの様な感じになります。

まとめ

EXCELで用意されている関数は、非常に便利な物が多くあります。
一つの関数を用いて作業を行う事で、日常でやられている業務が非常に簡単に終わらせる事が可能になったりします。
一番最初に何の関数を使用すればいいのかわからない、設定しても思った結果が得られない等、時間を取られる場合はあります。
しかし、関数が正常に動作してしまえばそれ以降の作業はグッと短縮される事になり、他の事に時間を割く事も可能になります。
用意されている関数を使い日々の作業を効率よくこなしていきましょう。

  • シェア
  • twitter
The following two tabs change content below.

岩原正樹

最新記事 by 岩原正樹 (全て見る)

コメントはこちらをクリック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  • twitter
  • このエントリーをはてなブックマークに追加
  • Pocket
PAGE TOP
LINE it!