関数をマスターする7~MATCH関数&INDEX関数2~

今回は前回に引き続き、MATCH関数とINDEX関数に取り組みます

名前管理の機能を使ってより実践的な方法に取り組んでみましょう!

もし、分かりづらい部分があれば下記のサンプルファイルをダウンロードして自分で触って動かしてみましょう!”手を動かす”のが一番の近道です

ところで

MATCH関数とINDEX関数の組み合わせがどう”VLOOKUP関数”と違うかという点も合わせて解説していきます(VLOOKUP関数は行方向に検索しますが、列方向には検索できませんので、その点は省略させて頂きます)

では

以下、サンプルファイルの表から選手の名前に応じて学年から出場回数を抽出する関数を作成していきましょう!!

18

1.まずは表の見出しに対応した名前をつけよう!

選手~出場回数まで、エクセル画面上の名前ボックスで見出しそのままに名前をつけましょう!

GIF9

ここで名前を付ける理由を1つだけ解説します

もし、名前を付けない場合は、選手の学年を抽出する関数はどんな風になるかというと以下のようになります

=INDEX(C$2:C$11,MATCH(C$13,B$2:B$11,0))

一方、名前をつけると下記のようにセル範囲の部分が置き換わります

=INDEX(学年,MATCH($C$13,選手,0))

名前を付けたほうが一目見ただけで意味が分かりますよね

”Cの列は何だっけ?”などと表を参照する必要はありません

では、以下にそのまま”=INDEX(学年,MATCH($C$13,選手,0))”と記入しましょう

20

2.関数を下まで(出場回数まで)コピーして、関数の名前を修正

関数をコピーした後、関数の名前を抽出対象にあわせて修正しましょう

21 22

もし、1.の段階で名前を付けていなかったら、セルの列や行位置などを修正する必要があった(もしくは1.の段階で絶対参照を設定しておく必要があった)ことを考えると、名前を付けることが省力化につながることが良く分かると思います

3.表に列や行を追加してみましょう!

VLOOKUP関数でも同じように名前をつけて表から抽出することができます

23

ここで、表に行データを追加してみましょう!

24

VLOOKUP関数でも追加に対応できています

今度は取り合えず列だけ追加してみましょう!

25

するとVLOOKUP関数の列参照が狂ってしまいます・・・

この点もMATCH関数とINDEX関数の組み合わせとVLOOKUP関数の大きな違いです

 

”違い”を理解した上で表の性質や抽出データの活用方法など、場面に応じてMATCH関数とINDEX関数の組み合わせてとVLOOKUP関数を使い分けていきましょう!

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です