【Excel関数】INDEX関数&MATCH関数(vlookupの代わり)

最終更新日:2020年5月10日

条件検索ならvlookup関数よりもindex+match関数!

 

指定した範囲から検索条件と一致したデータを検索して取り出してくれる関数のvlookup。

資料作成やデータ照合などの際、必須の関数ですよね。

ですが、私は最近ではほとんど使いません。

データを検索して抽出する場合は、vlookupよりもindex関数とmatch関数の方がよく使います。

 

その理由については次の通りです。

① index関数とmatch関数の方が、軽い(早い)。

⇒vlookupを使えば使うほどExcelがどんどん重くなっていくという経験ありませんか?

そうvlookupは使い方を誤ると重くそして遅くなるのです。

(なぜ遅くなるかは長くなるので割愛します)

index関数とmatch関数を使えばvlookupよりも軽く(早く)処理することができます。

 

② index関数とmatch関数の方が、柔軟に検索できる。

⇒vlookupは検索値の列が抽出する列よりも左になくては検索できません。

 

 

Index関数とmatch関数であれば、左でも右でも、または上でも下でも検索&抽出ができます。

これがindex関数とmatch関数の一番の利点であると思っています。

 

vlookup関数に慣れている人はindex関数とmatch関数は使いづらいかもしれません。

だけどそれも最初だけ。

覚えてしまえばなんてことありません!

 

memo

社員コードから名前を抽出してみましょう。

=INDEX($A$7:$C$16,MATCH($B$1,$A$7:$A$16,0),2)

=INDEX($A$7:$C$16,MATCH($B$1,$A$7:$A$16,0),2)
                            表の範囲を指定       検索値   検索範囲を指定     完全一致の場合は「0」 表の中で「2」は列指定

部署の検索については、「2」を「3」に変更するだけです。

 

先ほどのvlookupでは抽出できないパターンでもできます。

=INDEX($K$7:$M$16,MATCH($L$1,$M$7:$M$16,0),1)

INDEXのあとに抽出したい列の指定をしてすると覚えればOKですよ!

【Excel関数】INDEX関数&MATCH関数(vlookupの代わり)」への1件のフィードバック

コメントを残す

あなたのメールアドレスは公開されません。必須項目には印がついています *