この記事では、Index関数とMatch関数を使って表から検索対象のデータを抽出する方法についてご説明します。
【動画】Index関数とMatch関数を使って表から検索対象のデータを抽出する実際の動き
本題に入る前に、まずは次の動画をご覧ください。
顧客名に該当するデータを上の表からIndex関数とMatch関数を使って抽出し、該当したデータを下の表に出力しています。
Excelファイルの例
今回は次のExcelファイルを用意しました。
以上のExcelファイルは、上の表にいくつかの店舗データが存在しており、セルA3に入力された顧客名に該当する店舗のデータを抽出して下の表に出力するExcelファイルです。
セルA3にD列の顧客名のどれかを入力すると、下の表にその顧客名に該当する店舗データが出力されます。
前提
今回の記事は、以下のポイントを前提として説明していきます。
- 条件に合うデータは単一の場合
- 検索条件は一つだけ
【前提①】条件に合うデータは単一の場合
今回の記事は、条件に合うデータは単一であることが前提の内容となっています。
もし条件に合うデータが複数存在する場合は今回のExcelファイルでは取得できません。(あくまで1レコードしか取得ができない)
条件に合うデータが複数存在する場合は次の記事を参考にしてみてください。
→【Excel関数】Index関数とMatch関数を使って表から検索対象のデータを抽出する(条件に合うデータが複数ある場合)
【Excel関数】Index関数とMatch関数を使って表から検索対象のデータを抽出する(条件に合うデータが複数ある場合)【前提②】検索条件は一つだけ
今回の記事は、検索条件は一つだけであることが前提の内容となっています。
以上、2つの前提を踏まえてご説明していきます。
Excelファイルの作成の流れ
Excelファイル作成の解説
Index関数とMatch関数を組み合わせて、検索値に合致するデータを抽出する計算式を下の表に入力する
Index関数とMatch関数を組み合わせて、検索値に合致するデータを抽出する計算式を下の表に入力します。
埋め込んだ計算式は次の通りです。
- =INDEX(A6:H10,MATCH(A3,D6:D10,0),0)
- セルA3の値が、左の表の顧客名(D列)と一致する店舗データを取得します。
- 検索文字列(セルA3の値)の店舗データ
①Match関数
Match関数は、検索文字列を、検索したい範囲のセルの中から検索し、何行目にあるのかを検索する関数です。
検索して見つかった場合は、検索したセル範囲の上から数えて何行目かを返します。
Match関数の1つ目の引数Match関数の1つ目の引数には検索文字列を指定します。
今回はセルA3のデータを検索したいので、1つ目の引数にこのセルA3を指定しています。
検索して見つかった場合は、検索したセル範囲の上から数えて何行目かを返します。
Match関数の2つ目の引数Match関数の2つ目の引数には検索文字列を検索するセルの範囲を指定します。
今回はA3の顧客名と一致する顧客名をセルD6からD10までの間で探したいので、2つ目の引数に「D6:D10」を指定しています。
Match関数の3つ目の引数Match関数の3つ目の引数には照合する種類を指定します。
この照合する種類には3つあります。
今回は完全に一致する値を検索したいので0を指定しています。
②Index関数
Index関数は、行と列を指定したセルの値を取得します。
今回は、行はMatch関数で取得した行位置、列は上の表の列全てを対象に取得したいので0を指定しています。
Index関数の1つ目の引数Index関数の1つ目の引数には上の表のセル範囲を指定します。
Index関数の2つ目の引数Index関数の2つ目の引数にはMatch関数で取得した行位置を指定します。
Match関数により、検索した文字列が何行目にあるのかが特定できるので、その何行目かを2つ目の引数に指定します。
Index関数の3つ目の引数Index関数の3つ目の引数には上の表のセル範囲を指定します。
今回は引数に0を指定しています。
引数が0の場合、第1引数のセルの列範囲のデータを対象にします。
第1引数のセルがAからHの列を対象としているので、AからHの列を対象にデータを取得します。
検証
セルA3に顧客名を入力すると、上の表にある該当する顧客の店舗データが下の表に出力されるのかを検証してみます。
検証した結果は、次の通りです。
テスト①:スーパーショップを選んだ場合
スーパーショップを選んだ場合、顧客名がスーパーショップの店舗データを下の表に出力しています。
テスト②:オーガニックフードを選んだ場合
オーガニックフードを選んだ場合、顧客名がオーガニックフードの店舗データを下の表に出力しています。
テスト③:自然食品スーパーを選んだ場合
自然食品スーパーを選んだ場合、顧客名が自然食品スーパーの店舗データを下の表に出力しています。
最後に
本記事では、Index関数とMatch関数を使って表から検索対象のデータを抽出する方法についてご説明しました。
Index関数とMatch関数を組み合わせることで、簡単に検索対象のデータを抽出することができます。
表からデータを抽出するのにIndex関数とMatch関数はとても便利なので参考にしてみてくださいね。
Excelのスキル向上やExcelの基礎知識をしっかりと学びたいなら
Excelのスキルを習得したい、Excelの基礎知識をもっと理解したい、そう考えているなら「無期限サポート付きExcel講座【すごい改善】」がおすすめです。
Excelのスキルの基礎を身につけるなら【すごい改善】で無期限サポート付きがあるので、これで「Excelのスキルや基礎」を学ぶのにおすすめですよ。