【Excel複数条件からデータを抽出】インデックス関数とマッチ関数を組み合わせる便利技
この列の中から、①と②と③の項目にぴったり合ったデータを抽出したいんだけど。
なんてときに便利なのがINDEX関数とMATCH関数を組み合わせです。
この方法を知っていると、VLOOKUP関数より簡単にデータの抽出をすることができます!
そこで今回は、INDEX関数とMATCH関数を組み合わせてデータを抽出する方法を紹介します。
INDEX関数とMATCH関数はこんな関数
まずは「INDEX関数」と「MATCH関数」のおさらいから!
INDEX関数はこんな関数
INDEX(インデックス)関数
指定した範囲の中から、行と列が交差する位置にある値またはセルの参照を返す関数
INDEX関数には「配列形式」と「参照形式」2つの式があります。
配列形式のINDEX 関数では、配列、行番号、列番号 の 3 つの値(引数)を入れて使用します。
=INDEX(配列,行番号,列番号)
参照形式のINDEX 関数では、配列、行番号、列番号、領域番号 の 4 つの値(引数)を入れて使用します。
=INDEX(参照,行番号,列番号,領域番号)
MATCH関数はこんな関数
MATCH(マッチ)関数
指定した範囲の中から該当する値の位置を、行数・列数を数値で返す関数
MATCH 関数は、検査値、検査範囲、照合の種類の 3 つの値(引数)を入れて使用します。
=MATCH(検査値,検査範囲,照合の種類)
INDEX関数とMATCH関数を組み合わせて複数条件のデータを抽出する方法
ここでは一般的によく使う例として、縦に長い複数列ある表の中から、①と②と③の条件にぴったり合った売上額を抽出してみます。
以下のようにINDEX関数とMATCH関数を組み合わせて計算式を入力します。
①答えを表示したいセルを選択し、「数式」⇒「検索/行列」⇒「INDEX」をクリックします。
②「配列,行番号,列番号」を選択し「OK」をクリックします。
③配列のボックスにカーソルを表示し、売上額が入力されている「D列」をクリックします。
下に長い表なので、ここでは列ごと範囲選択をしてしまいます。
④行番号のボックスにカーソルを表示し、名前ボックスから「MATCH」関数を選択します。
INDEX関数とMATCH関数が組み合わされます。
⑤検査値のボックスにカーソルを表示し、検査したいすべての条件を入力します。
ここでは「科目:小」と「年度:2019」と「月:6」のすべてに該当する売上額を抽出したいので、「G2&H2&I2」と入力しています。
2つ以上のすべての条件を検査したい場合は「&」でつなぎます。
⑥検査範囲のボックスにカーソルを表示し、検査したいすべての範囲を入力します。
ここでは「科目の列」と「年度の列」と「月の列」のすべての範囲から検査したいので列ごと選択し、「A:A&B:B&C:C」と入力しています。
ここでも2つ以上のすべての範囲を検査したいため「&」でつないでいます。
⑦照合の種類のボックスにカーソルを表示し、完全に一致した値を抽出したいので数字の「0」を入力します。
続いて、INDEX関数に戻るために、数式バーの「INDEX」という文字をクリックします。
⑧列番号のボックスには何も入力せず、「OK」をクリックします。
⑨すべての項目に該当する値が返されます。
INDEX関数とMATCH関数も理解しておこう!
INDEX関数とMATCH関数を組み合わせてデータを抽出する方法を紹介していきました。
INDEX関数とMATCH関数を組み合わせて使うときは、こんな感じで大量のデータの中から該当する値を抽出するときに使うことが多いです。
いきなりの応用編という感じかもしれませんが、知っているとVLOOK関数より柔軟に使うことができるのでとても便利です!
組み合わせで使う前に、改めてINDEX関数とMATCH関数についても理解しておくことをおすすめします。
INDEX関数の基本的な使い方については以下のページを参照してください。
MATCH関数の基本的な使い方については以下のページを参照してください。
こちらの本は「Kindle Unlimited 」会員なら無料で読むことができます。
30日間の無料体験中でも同じように利用することができるので、無料で読んでみたい方は無料体験に登録をするといいですよ。
▶Kindle Unlimitedで無料で読んでみる