ARTICLE関数

【Excel】INDEX&MATCH関数で条件にあった情報を抽出

ARTICLE
この記事では、条件にあった情報を抽出する関数について、
説明しています。
.
「INDEX関数」「MATCH関数」を紹介するだけでなく
組み合わせ方も説明していますので
ぜひ、ご活用くださいね。

うーん、情報を抽出するのに

VLOOKUP関数もいいけど

もう少し柔軟に使える関数はないかな…。

※VLOOKUP関数の詳細はコチラ!

実はね、あるよ。

「INDEX関数」「MATCH関数」

柔軟に抽出できるの助かる!

どっちも教えてくれる??

OK!どっちかでも使えるけど

組み合わせたらもっと便利だから、

それも説明するね。

ありがとう。

マスターできるように頑張る!

関数自体はシンプルだから大丈夫!

ぜひ、使いこなしてね。

 

 

 

 

【INDEX関数】

▶︎INDEX関数の構文

この関数は、指定した範囲から値を抽出し、
指定した行と列の位置に基づいてセルの値を返します。

=INDEX(範囲, 行番号, 列番号)
=INDEX(D3:H7,3,2)
.
.
範囲:範囲を指定します。
=INDEX(D3:H7,3,2)
.
行番号:抽出したい値の行番号を指定します。
=INDEX(D3:H7,3,2)
.
列番号:抽出したい値の列番号を指定します。
=INDEX(D3:H7,3,2)
.
範囲の中で3行目・2列目の値が抽出できました!

 

 

▶︎補足

範囲について1行あるいは1列のみの指定の場合は
列または行の指定を省略することができます。

 

例1)1行のみ指定する
=INDEX(D3:H3,2)

列番号のみを指定すると

 

抽出できました!

 

 

例2)1列のみ指定する
=INDEX(D3:D7,3)

行番号のみを指定すると

 

抽出できました!

 

 

 

 

【MATCH関数】

▶︎MATCH関数の構文

この関数は、指定した値が
範囲内のどの位置にあるかを検索し、その位置を返します。

=MATCH(検索値, 検索範囲, [検索の型])
※検索の型
0(または省略):
精確な一致を行います。
検索値と範囲内の値が完全に一致する場合のみ、一致する位置が返されます。
.
1:
検索値と一致する値よりも小さい値の位置が返されます。
範囲内の値が昇順に並んでいる場合に使用します。
.
-1:

検索値と一致する値よりも大きい値の位置が返されます。
範囲内の値が降順に並んでいる場合に使用します。
=MATCH(J2,E3:E7,0)
.
.
検索値:検索したい値を指定します。
=MATCH(J2,E3:E7,0)
.
検索範囲:検索範囲を指定します。
=MATCH(J2,E3:E7,0)
.
[検索の型]:検索の型を指定します。
=MATCH(J2,E3:E7,0)
.
値がある行が表示されました!

 

 

▶︎複数条件で検索

MATCH関数は

複数条件で検索することもできます!

 

検索値を指定します(検索値:け&い)
=MATCH(J2&K2,D3:D7&E3:E7,0)

 

検索範囲を指定します(D列&E列)
=MATCH(J2&K2,D3:D7&E3:E7,0)

 

検索の型を指定します(完全一致)
=MATCH(J2&K2,D3:D7&E3:E7,0)

 

複数の検索値(け&い)で、値がある行が表示されました!

 

 

 

【INDEX関数とMATCH関数の組み合わせ】

 

INDEX関数とMATCH関数を組み合わせることで、
さまざまなデータ抽出の操作が可能になります!

 

 

▶︎データの抽出

INDEX関数は、指定した範囲内のセルから特定の値を抽出するために使用されます。
MATCH関数と組み合わせることで、検索条件に一致するデータを抽出することができます。

 

マウスの金額を抽出する

①MATCH関数を使って、マウスの行番号を出します。

=MATCH(E11,B12:B17,0)

 

行番号が出ました。

 

 

②出た行番号を使って、INDEX関数で金額を抽出します。

=INDEX(C12:C17,MATCH(E11,B12:B17,0))

 

マウスの金額が出ました!

 

 

▶︎複数のセルのデータを表示

INDEX関数を使用して複数のセルのデータを表示するには、
配列形式で結果を返すように設定します。

 

マウスの担当&金額を抽出する

①INDEX&MATCH関数を使って、マウスの担当を出します。

=INDEX(C12:C17,MATCH(F11,B12:B17,0))

 

 

②INDEX&MATCH関数を使って、マウスの金額を出します。

=INDEX(D12:D17,MATCH(F11,B12:B17,0))

 

 

(補足)担当&金額を「:」で連結します。

=INDEX(C12:C17,MATCH(F11,B12:B17,0)) : INDEX(D12:D17,MATCH(F11,B12:B17,0))

 

マウスの担当&金額が出ました!

 

 

▶︎複数条件の指定

INDEX関数とMATCH関数を組み合わせることで、複数条件の指定も可能です。

 

マウス(佐藤さん担当)の金額を抽出する

①MATCH関数を使って、マウス(佐藤さん担当)の行番号を出します。

=MATCH(“マウス”&”佐藤”,B12:B17&C12:C17)

 

行番号が出ました!

 

 

②出た行番号を使って、INDEX関数で金額を抽出します。

=INDEX(D12:D17,MATCH(“マウス”&”佐藤”,B12:B17&C12:C17,0))

 

 

マウス(佐藤さん担当)の金額が出ました!

 

 

 

【INDEX&MATCH関数とVLOOKUP関数】

INDEX関数とMATCH関数の組み合わせとVLOOKUP関数は、
データの検索や抽出に使用されるExcelの関数ですが、
それぞれ異なる特徴と使い方を持っています。

 

▶︎INDEX&MATCH関数によるデータ抽出

INDEX関数とMATCH関数を組み合わせることで、
特定の条件に一致するデータを抽出することができます。
組み合わせ例はコチラ!

MATCH関数を使用して検索条件に一致する行番号を取得し、
INDEX関数に渡すことで、その行番号に対応するデータを抽出します。

 

この組み合わせは、より柔軟な検索条件を指定したり、
複数の条件に一致するデータを抽出する場合に有用です。
また、INDEX関数は配列形式で結果を返すことができるため、
複数のセルのデータを一度に抽出することも可能です。

 

 

▶︎VLOOKUP関数との違い

VLOOKUP関数は、指定した値に基づいて別の範囲からデータを抽出する際に使用されます。
主に縦方向のデータ検索に利用され
指定した値を検索範囲の最初の列に対して比較し、
一致する場合に対応するセルの値を返します。
VLOOKUP関数の詳細はコチラ!

 

<INDEX&MATCH関数とVLOOKUP関数>

INDEX&MATCH関数 VLOOKUP関数
検索方向 柔軟 単一
検索値の位置 範囲内であればどこでも 最初の列

 

 

▶︎両者の選択

どちらの関数を使用するかは、
具体的な使用目的やデータの構造によって異なります。

単純な縦方向のデータ検索や抽出を行う場合には、VLOOKUP関数が便利です。
一方、より高度な検索や複数条件の指定が必要な場合には、
INDEX関数とMATCH関数の組み合わせが適しています。
また、INDEX関数とMATCH関数は、配列形式の結果を返すことができるため、
複数のセルのデータを一度に取得する際にも有用です。

 

 

 

【INDEX関数・MATCH関数 まとめ】

▶︎INDEX関数

この関数は、指定した範囲から値を抽出し、
指定した行と列の位置に基づいてセルの値を返します。

=INDEX(範囲, 行番号, 列番号)
.
.
範囲:範囲を指定します。
=INDEX(D3:H7,3,2)
.
行番号:抽出したい値の行番号を指定します。
=INDEX(D3:H7,3,2)
.
列番号:抽出したい値の列番号を指定します。
=INDEX(D3:H7,3,2)
.
範囲の中で3行目・2列目の値が抽出できました!

 

 

補足

範囲について1行あるいは1列のみの指定の場合は
列または行の指定を省略することができます。

 

例1)列番号のみを指定

 

例2)行番号のみを指定

 

 

 

▶︎MATCH関数

この関数は、指定した値が
範囲内のどの位置にあるかを検索し、その位置を返します。

=MATCH(検索値, 検索範囲, [検索の型])
※検索の型
0(または省略):
精確な一致を行います。
検索値と範囲内の値が完全に一致する場合のみ、一致する位置が返されます。
.
1:
検索値と一致する値よりも小さい値の位置が返されます。
範囲内の値が昇順に並んでいる場合に使用します。
.
-1:

検索値と一致する値よりも大きい値の位置が返されます。
範囲内の値が降順に並んでいる場合に使用します。
.
.
検索値:検索したい値を指定します。
=MATCH(J2,E3:E7,0)
.
検索範囲:検索範囲を指定します。
=MATCH(J2,E3:E7,0)
.
[検索の型]:検索の型を指定します。
=MATCH(J2,E3:E7,0)
.
値がある行が表示されました!

 

 

複数条件で検索

MATCH関数は

複数条件で検索することもできます!

 

検索値 :け&い
検索範囲:D列&E列
検索の型:完全一致
=MATCH(J2&K2,D3:D7&E3:E7,0)

 

複数の検索値(け&い)で、値がある行が表示されました!

 

 

 

▶︎INDEX関数とMATCH関数の組み合わせ

 

INDEX関数とMATCH関数を組み合わせることで、
さまざまなデータ抽出の操作が可能になります!

 

 

データの抽出

INDEX関数は、指定した範囲内のセルから特定の値を抽出するために使用されます。
MATCH関数と組み合わせることで、検索条件に一致するデータを抽出することができます。

 

マウスの金額を抽出する

①MATCH関数を使って、マウスの行番号を出します。

=MATCH(E11,B12:B17,0)

 

行番号が出ました。

 

 

②出た行番号を使って、INDEX関数で金額を抽出します。

=INDEX(C12:C17,MATCH(E11,B12:B17,0))

 

マウスの金額が出ました!

 

 

複数のセルのデータを表示

INDEX関数を使用して複数のセルのデータを表示するには、
配列形式で結果を返すように設定します。

 

マウスの担当&金額を抽出する

①INDEX&MATCH関数を使って、マウスの担当を出します。

=INDEX(C12:C17,MATCH(F11,B12:B17,0))

 

 

②INDEX&MATCH関数を使って、マウスの金額を出します。

=INDEX(D12:D17,MATCH(F11,B12:B17,0))

 

 

(補足)担当&金額を「:」で連結します。

=INDEX(C12:C17,MATCH(F11,B12:B17,0)) : INDEX(D12:D17,MATCH(F11,B12:B17,0))

 

マウスの担当&金額が出ました!

 

 

複数条件の指定

INDEX関数とMATCH関数を組み合わせることで、複数条件の指定も可能です。

 

マウス(佐藤さん担当)の金額を抽出する

①MATCH関数を使って、マウス(佐藤さん担当)の行番号を出します。

=MATCH(“マウス”&”佐藤”,B12:B17&C12:C17)

 

行番号が出ました!

 

 

②出た行番号を使って、INDEX関数で金額を抽出します。

=INDEX(D12:D17,MATCH(“マウス”&”佐藤”,B12:B17&C12:C17,0))

 

 

マウス(佐藤さん担当)の金額が出ました!

 

 

 

▶︎INDEX&MATCH関数とVLOOKUP関数

<INDEX&MATCH関数とVLOOKUP関数>

INDEX&MATCH関数 VLOOKUP関数
検索方向 柔軟 単一
検索値の位置 範囲内であればどこでも 最初の列
適正 高度な検索や複数条件の指定が必要な場合 単純な縦方向のデータ検索や抽出を行う場合

VLOOKUP関数の詳細はコチラ!

 

 

 

INDEX関数もMATCH関数も

シンプルで分かりやすかった!

でしょ?

しかも、組み合わせると

もっと便利。

VLOOLUP関数と一緒に

使いこなせたら

ますます効率アップするね!

そうだね。情報抽出の関数が

使いこなせたら、業務効率アップだよ!

頑張ってマスターしてね。