大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excelで、INDEX関数とMATCH関数を使って、複数条件で検索する方法について、解説していきます。INDEX関数とMATCH関数を使って、複数条件で検索するには、「配列数式」と「&」を使います。配列数式がとっつきづらいではありますけども、便利な機能ですので、どんどん使っていきましょう。

はじめに

この記事では、INDEX関数とMATCH関数を組み合わせて、複数条件を検索する方法について、ご紹介します。

INDEX関数とMATCH関数を使って、複数条件を検索するには、「配列数式」と「&」を使うとできます。

配列数式が使えると、検索できる幅が広がりますので、便利です。

では、INDEX関数とMATCH関数で、複数条件を検索する方法について、解説していきます。

この記事で紹介すること

  • INDEX関数とMATCH関数で複数条件を検索する方法

目次から見たい項目へ移動すると便利ですよ。

目次

ExcelでINDEXとMATCHを使ってで複数条件を検索

Excelで、INDEX関数とMATCH関数を使って、複数条件を検索する方法について、ご紹介します。

複数条件を検索するには、「配列数式」と「&」を使う必要があります。

この「配列数式」がとっつきづらいですよね。

詳しく解説していきます。

配列数式と&を使う

まず、「配列数式」と「&」を使って、INDEX関数とMATCH関数で複数条件を検索してみます。

表を用意しました。

表を用意

表を用意

「支店」~「価格」にINDEX関数とMATCH関数が、配列数式を使って入力されています。

では、「東京」と「A」の複数条件で検索してみます。

複数条件で検索

複数条件で検索した結果

「東京」と「A」で検索して、「価格」の100を取得することができました。

入力されている配列数式

「支店」~「価格」に入力されているINDEX関数とMATCH関数の数式をみてみます。

配列数式でINDEX関数とMATCH関数を組み合わせ

INDEX関数とMATCH関数の数式1
INDEX関数とMATCH関数の数式2
INDEX関数とMATCH関数の数式3

という感じです。

わかりづらいので、MATCH関数の数式とINDEX関数の数式で、分解して考えてみます。

MATCH関数で配列数式を使って複数条件を検索

MATCH関数で配列数式を使って、複数条件で検索する方法について、解説します。

通常のMATCH関数

通常のMATCH関数では、次のように「検査値」と「検査範囲」を入力すると、検査値と一致した「行番号」を取得することができます。

MATCH関数の入力

MATCH関数で検査値に一致した行番号を取得

検査値に「東京」、検査範囲に「A列」を入力しました。

では、Enterで確定します。

一致した行番号を取得できる

MATCH関数で検査値に一致した行番号を取得した結果

結果は、「2」行目となります。

こんな感じで、MATCH関数は使います。

次は、配列数式を使って複数条件で検索してみます。

配列数式を使って複数条件を検索

MATCH関数と、「配列数式」を使って複数条件で行番号を検索してみます。

「東京」と「A」に一致する行番号を取得します。

表を入力

表を入力しました。

表を入力

MATCH関数に「検索値」を入力

次に、MATCH関数を入力して、検索値に「東京」と「A」を結合させた値を入力します。

MATCH関数の検索値に東京とAを結合させた値を入力

MATCH関数に「検査範囲」を入力

次は、検索範囲です。

検索したい「A列」と「B列」を結合させるので、「A:A & B:B」としています。

MATCH関数の検索範囲にA列とB列を結合した配列を入力

なかなか使わない入力の仕方ですよね。

MATCH関数に「照合の種類」を入力

照合の種類は、完全一致で「0」とします。

MATCH関数の照合の種類を0とする

MATCH関数の入力が完了

最後に右カッコで閉じます。

MATCH関数を右カッコで閉じて完成

次がポイントです。

確定はEnterではなく、「Ctrl + Shift + Enter」です。

これが大事です。やってみます。

配列数式にする

Ctrl+Shift+Enterで確定する

これで、配列数式となります。

「東京」と「A」に一致した行で、「2」行目が取得できています。

数式の端に「{」と「}」がついています。

これが、配列数式です。

取得したい行番号がわかればあとは、INDEX関数で行の値を取得して完了です。

INDEX関数で行の値を取得

INDEX関数は指定した、行の値を取得することができますよね。

先ほど配列数式を使ってMATCH関数で、取得した行番号から行の値を取得します。

行の値を取得

次のようにINDEX関数を入力します。

INDEX関数を入力

INDEX関数を入力する

配列は「A列」として、「2」行目の値を取得しています。

では、Enterで確定してみます。

指定した行番号の値を取得

INDEX関数で指定した行番号の値を取得した結果

「2」行目の「東京」を取得できました。

INDEX関数は、こんな感じで使います。

これだと、行番号のセルがあって幅を取ってしまうので、MATCH関数とINDEX関数をまとめていきます。

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

では、INDEX関数とMATCH関数を組み合わせて、複数の条件で、値を取得してみます。

組み合わせのイメージ

INDEX関数とMATCH関数を組み合わせるイメージは、こんな感じです。

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

INDEX関数とMATCH関数を組み合わせるイメージ

配列数式のMATCH関数を、INDEX関数の中にいれるという感じです。

では、やってみます。

手順

最初に、INDEX関数を入力します。

INDEX関数に「配列」を入力

INDEX関数を入力する

「支店」の列を検索したいので、INDEX関数の配列には、「A:A」を入力しています。

INDEX関数の「行番号」にMATCH関数を入力

次に、INDEX関数の検査範囲には、MATCH関数を入力します。

INDEX関数の検査範囲にMATCH関数を入力

MATCH関数の検査値には、「東京」と「A」を入力しています。

あとで、コピーするので、「東京」と「A」の検査値を絶対参照にしておきます。

MATCH関数の検査値を絶対参照にしておく

MATCH関数の「検査範囲」を入力

MATCH関数の検査範囲には、「A列」と「B列」の結合を入力したいので、「A:A & B:B」を入力します。

MATCH関数の検査範囲にA列とB列を結合した範囲を入力

このMATCH関数の検査範囲も、絶対参照にしておきます。

MATCH関数の検査範囲を絶対参照にしておく

MATCH関数の「照合の種類」を入力

MATCH関数の照合の種類は、完全一致としたいので、「0」を入力します。

MATCH関数の照合の種類は完全一致としたいので「0」を入力

数式の完成

右カッコを2個入力した数式を完成させます。

右カッコを2個入力した数式を完成させる

最後に、配列数式にしたいので、「Ctrl + Shift + Enter」です。

配列数式にする

ここがポイントです。

では、配列数式にして確定します。

数式が完成して支店の値を取得した結果

「支店」の値に、「東京」を取得できました。

「商品」と「価格」は、「支店」をコピーすると値を取得することができます。

値をコピーする

値をコピーする

これで、「商品」と「価格」の値を取得することができます。

商品と価格の値を取得できる

複数の条件で、値を取得することができました。

ちなみに、コピーした「商品」と「価格」の数式をみるとこんな感じになっています。

コピーした数式

INDEX関数とMATCH関数を組み合わせた数式1
INDEX関数とMATCH関数を組み合わせた数式2

という感じです。

検索値を変更してみる

検索値を変更して、値を取得してみます。

「支店」と「商品」にそれぞれ、「名古屋」と「C」を入力しました。

では、検索してみます。

検索値を変更してみる

名古屋とCで検索した結果

自動で、複数の条件で値を取得することができました。

配列数式を使って、INDEX関数とMATCH関数の組み合わせると、便利です。

配列数式がとっつきづらいですけども、使えるようになると便利です。

おわりに

この記事では、INDEX関数とMATCH関数を組み合わせて、複数条件を検索する方法について、ご紹介しました。

INDEX関数とMATCH関数を使って、複数条件を検索するには、「配列数式」と「&」を使うとできます。

配列数式が使えると、検索できる幅が広がりますので、便利です。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

アーカイブから探す