どうも!シャチクショーです!
この記事では
エクセルのINDEX関数とMATCH関数を組み合わせた使い方
お伝えしていけたらと思います。
INDEX MATCHとは何?
INDEX MATCHとはINDEX関数とMATCH関数の2つを組み合わせて使うVLOOKUP関数の弱点を克服した上位互換です。
これさえ覚えてしまえばVLOOKUP関数を使うことはほぼ無くなるのでしっかりとマスターしましょう!
以下ではVLOOKUP関数の弱点とINDEX関数、MATCH関数について説明を致します。正直この関数を使うにあたり関数の意味については深く知らなくても問題は無いと思いますので、INDEX MATCHの使い方だけ知りたいと言う方は飛ばしていただいて大丈夫です。かくいう私も意味を知らずに使ってきていましたが問題が起きていませんので(笑)
そもそもVLOOKUP関数の弱点は何?
VLOOKUP関数は検索値が含まれている列を基準にして右側の情報であれば取ってくることは可能です。ですが、検索値から左側にあるデータに関してはVLOOKUP関数は使うことが出来ません。列の並び替えをすれば可能にはなりますが、列を入れ替えるのはあまりお勧めはしません。INDEX MATCHならこの場合でも検索は難なく可能です。
INDEX関数とは?
INDEX関数は、指定した範囲内の行番号と列番号からセルを検索することが出来る関数です。
また、参照形式と配列形式の2種類があります。今回は参照形式のほうをご紹介いたします。
下図が参考例となってます。
MATCH関数とは?
MATCH関数は、検索する値の位置を調べることが出来ます。下図では【いちご】が検査範囲の何行目にあるか?調べてみました。 検査範囲を行ではなく列で調べることも可能です。照合の種類は{以下、完全一致、以上}の3種類があります。今回は完全一致を選択しています。
INDEX MATCHの使い方
関数を自分で入力していくやり方をお伝えいたします。fxと書かれているボタンを押して関数を挿入するやり方もありますが、慣れたら自分で入力したほうが断然作業スピードが上がるので、初めからこちらのやり方で慣れて頂いた方がいいと思います。下図を例に使い方を説明をさせていただきます。
①入力するセルをクリックし、「=in」と入力した後に、Tab
キーを押す
入力するセル内で「=in」と入力を行います。するとエクセルがinから始まる関数の一覧リストを表示してくれます。赤枠で囲まれているのがinから始まる関数一覧です。(青く塗られている関数がフォーカスされているという意味になります。)INDEXにフォーカスされている状態でTab
キーをクリックすると、選択されていた関数が自動的にセルに入力されます。
②取ってきたい範囲を選択する
INDEXの後は、取ってきたい情報がある範囲を選択します。今回は商品コードの情報を取ってきたいので、【B3:B8】を選択します。
範囲を選択する場合は複数列を選択するとエラーとなるので、必ず1列だけを選択するようにしましょう。
③「m」と入力した後に、Tab
キーを押す
範囲を選択した後に,
を入力します。続いて「m」と入力をします。先ほどと同じように「m」から始まる関数の一覧が表示されますので、「MATCH」関数がフォーカスされている状態でTab
キーを押します。これで自動で入力がされます。この機能はだいぶ助かります!
④検索値に当たるセルを選択する
今回は【いちご】を基準に商品コードを自動で取得するので、【いちご】が入っているセル「G4」をクリックします。
検索値はセルだけでなく文字で入力することも可能です。いちごを文字として入力したい場合は「“いちご”」ダブルクォーテーションで囲って記入をします。
⑤検索値が存在する範囲を選択する
検索値を選択した後に,
を入力します。続いては先ほど選択した「いちご」がある範囲を選択します。今回ではC列になりますので、「C3:C8」を選択しました。
⑥照合の種類で「0」を選択
検索値が含まれている範囲を選択した後に,
を入力します。 最後に照合の種類を選択するのですが、ここでは「0」の完全一致を選択すると覚えてもらえれば基本的には問題ないです。ほとんどの場合は完全一致で使うことが多いかと思います。選択したらEnter
を押してください。そうすると下図のようなエラーが出ますが、そこでもう一度 Enter
を押してください。エクセルさんが気を利かせて閉じ)
を付けて修正してくれます。ありがたや~ありがたや~
「#N/A」というエラーが出てしまったら?どういう意味?
INDEX MATCH関数を使っていると「#N/A」というエラーが出て来ることがちょくちょくあるかと思います。このエラーの意味は参照の対象が見つからないことを示しています。G4の商品名はカタカナの「イチゴ」ですが、参照元ではひらがなの「いちご」の為、対象の値が無いと判断されたので、「#N/A」というエラーが返されています。
#N/Aを表示させない方法
IFERROR関数でエラーは回避できます!
エラーを表示させている状態だと、見た目が良くないだけでなく、四則演算や合計値を出そうとするとそこでもエラーとなってしまいます。そこで IFERROR関数 を使うことで、エラーが出た場合は別の値に置き換えることが可能です。
=IFERROR(値,エラーの場合の値)
値にはINDEX MATCHの式を入れ、エラーの場合の値には表示させないようにしたり、または別の値を入れます。
「“”」ダブルクォーテーションを2つ書くことでエラーを非表示にすることが出来ます。また、ダブルクォーテーションの間に文字を入れることで、エラー時にその文字を表示することも出来ます。
まとめ
INDEX MATCHは覚えてしまえば全然難しくありません。INDEX MATCHの使い方の流れをもう一度。
=INDEX(取ってきたい情報の範囲,MATCH(検索値,検索値が存在する範囲,0))
- 「=in」と入力すると関数一覧が出て来るので、INDEXが選ばれている状態で
Tab
キーをクリック - 取ってきたい情報がある範囲もしくは列を選択し、
,
を入力 - 「m」と入力すると関数一覧が出て来るので、MATCHが選ばれている状態で
Tab
キーをクリック - 検索値を選択し、
,
を入力 - 検索値が存在する範囲もしくは列を選択し、
,
を入力 - 照合の種類で完全一致の「0」を選択
Enter
を2回クリックする
繰り返し練習を行えば、すぐに使えるようになります!是非覚えて作業効率に役立てて頂きたいです。
コメント