今回は、近年MOS試験エキスパートレベルにも出題範囲とされている「INDEX関数」について解説します。

マーク
INDEX関数っていうのがあるらしんだけど、正直なところ何に使うのかよく分からないんだよねぇ。機能から考えると、VLOOKUP関数があればINDEX関数なんていらないと思わない?
熊リオ
ふむ。すでにVLOOKUP関数を知っている人なら、そういう疑問が浮かんでもおかしくない。

そこで今回は、どうしてもINDEX関数を使った方がいい例題を用いて説明しよう。

 

それでは例題に入りましょう。

2018-06-18_07h43_25

【例題】
INDEX関数を使用して、在庫表の[ラベルの色]を自動的に入力してください。
(ただし、[色番号]に合うラベルの色を「色一覧」から抜き出すこと)

さて、この場合、「ラベルの色」を埋めることができればゴールということになります。

2018-06-18_08h50_33

熊リオ
[色番号]という列に「1」とか「2」とか「3」とかいった番号が入力されてある。

その意味は、「色一覧」の表において、「上から何番目の色か?」を指定しているわけだ。

2018-06-18_07h52_33

マーク
そういうことか。
これなら、何となく見たことがある状況だぞぅ!

VLOOKUP関数を使えばカンタンに…って、あらっ?

熊リオ
そう。この場合、VLOOKUP関数ではだめなのだ。

肝心の色番号が、色一覧にないだろう?これではVLOOKUP関数では探すことができない。

そこで、INDEX関数を使うわけだ。

2018-06-18_07h57_14

それでは、INDEX関数を利用します。

INDEX($B$16:$B$18,D21)

INDEX(配列,行番号,[列番号は今回省略])

2018-06-18_08h13_00

 

マーク
えーと…
どういうこと?

熊リオ
では1つずつ説明しよう

 

1つ目の引数で「どこから検索したいのか?」を指定する

1つ目の引数では、どの範囲からデータを検索したいのか?を指定します。
ここでは、「色一覧」のセルB16からB18までの範囲を絶対参照で指定しています。

2018-06-18_08h17_29

2つ目の引数で「何行目のデータを参照するか?」を指定する

2つ目の引数では、「何行目のデータを参照したいか?」を指定します。
ここでは、[色番号]列にその数値が入力されているので、セルD21を参照しています。
すると、最初のD21には「1」と入力されていますので、指定した範囲の1行目のデータを参照するという意味になります。

2018-06-18_08h32_35

3つ目の引数は省略可能。(「何列目のデータを参照するか?」を指定)

3つ目の引数では、「何列目のデータを参照するか?」を指定します。しかし、この引数は省略することが可能です。
ここでは、引数を省略しているので、2つ目の引数で指定した「何目」だけが適用されます。

2018-06-18_08h39_31

マーク
なるほど~。
つまり、上から何番目かのデータを参照してくれるのがINDEX関数というわけかぁ!

熊リオ
そういうわけだ。
VLOOKUP関数のようにID番号などと照合することはできないが、
「上から何番目」「左から何番目」といった感じにシンプルに場所を指定できるので、ID番号などが無くてもデータを参照できる関数だな。

 

 

マーク
そうかぁ。
使う場面は限られそうだけど…、ある意味ではVLOOKUP関数よりも分かりやすい仕組みかなぁ。

 

熊リオ
そんなところだ。
まぁ、実際のところ、INDEX関数を単体で使う場面はこういうケースに限られてくるだろう。

だが、MATCH関数など他の関数と組み合わせて使うことで応用的な操作が色々と考えられる。ここが面白いところだ。

それはまた別途、次の機会に教えよう。

 

以上、いかがだったでしょうか?

INDEX関数、ぜひ覚えておきましょう!

 

screenshot_122

エクセル兄さん IT講師の淳