【教師のEXCEL講座】INDEX関数~表から番号で自在に抽出~

教師のEXCEL講座

こんにちは。福田泰裕です。

教師の事務作業のほとんどは、EXCELとの戦いです。
EXCELの関数を使いこなすことで、その業務量を削減することができます。

今回は、INDEX関数の使い方をご紹介します。

読者
読者

INDEX関数?
聞いたことないなぁ…

読者
読者

INDEX関数?
聞いたことあるけど、どこで使うのか知らないなぁ…

読者
読者

INDEX関数?
あのMATCH関数と組み合わせて使うヤツでしょ?
詳しくは知らんけど…

きっと多くの方にとって、INDEX関数の扱いはこの程度だと思います。
しかしこのINDEX関数、実は単独でも結構便利な関数です!
それなのにこの扱い…可哀相です😢

今回はそんな不遇な状況に置かれているINDEX関数をご紹介します!

最後まで読んでいただけると嬉しいです。

INDEX関数の3つの引数

index

INDEX関数には3つの引数があります。

範囲検索するセルの範囲。
行番号値を返す行番号。上から何行目かを指定する。
列番号値を返す列番号。左から何列目かを指定する。

とても簡単なので、具体例を見ながら解説していきます。

INDEX関数の最も簡単な使い方

次のような表を例に考えていきましょう。

index

この表から、「ち」を抜き出すINDEX関数を考えていきます。

検索するセルの範囲は「B2:F12」とします。

index

「ち」は、上から4行目左から2番目にあるので、

=INDEX(B2:F12,4,2)

と入力してみましょう👇

index

ENTERを押すと…👇

index

表の上から4行目左から2列目にある「ち」を抽出することができました。

行番号・列番号は参照することも可能

行番号と列番号は、セルから参照することも可能です。

index

上のように、セルを参照して行番号と列番号を指定することもできます。

INDEX関数の、複数の範囲と4つの引数

上で紹介した通り、INDEX関数は範囲、行番号、列番号を指定して値を抽出する関数です。
しかし、もう一つの使い方があります。

index
範囲検索するセルの範囲。( )でくくることで、複数の範囲を指定できる。
行番号値を返す行番号。上から何行目かを指定する。
列番号値を返す列番号。左から何列目かを指定する。
領域番号検索する領域の番号。何番目の領域から抽出するのか指定する。

このように、複数の範囲を指定することができるのです。
複数の範囲から、検索する範囲を指定して抽出することができます。

INDEX関数の少し高度な使い方

次のような表で使い方を解説していきます。

index

検索する範囲を、「B5:F9」と「I5:M10」の2つの範囲にしてみます。
ここから、「る」を抽出してみましょう。

「る」は、2つ目の領域(I5:M10)、上から4番目、右から3番目にあるので、

=INDEX((B5:F9,I5:M10),4,3,2)

と入力します👇

index

ENTERを押すと…👇

index

「る」が抽出できました!

このように、INDEX関数は検索する範囲を数字一つで変えることができるのです!

INDEX関数の使い所(1つの範囲)

それでは、このINDEX関数をどのタイミングで使うのかを紹介します。

INDEX関数のメリットは、次の2点です。

INDEX関数のメリット

① 行番号と列番号を数値で指定できる。
② 検索するセルの範囲を数値で指定できる。

この数値で指定できるというのが大きなメリットです。
それでは、使い所を考えていきましょう。

表からデータを”横に”抽出する

まず考えられるのが、表からデータを抜き出す場面です。
1つの表から、目的の数値を抽出してみましょう。

例として、次の表を使います。

index

まず、この表からデータを横に抽出してみましょう。

index

セルJ9で表の上から何番目の生徒か指定することで、その生徒の番号と得点が抽出されるようにします。

セルA9に、INDEX関数を入力していきます。
オートフィルをしても範囲は移動しないので、$A$2:$I$6と絶対参照にします。
(※範囲を選択した後、F4を押せば絶対参照になります!)

index

行番号もオートフィルで移動しないので、$J$9と絶対参照にします。

index

列番号はオートフィルと共に右へ移動するので、A10と相対参照のままにします。

index

あとは右へオートフィルをすると…👇

index
index

このように、上から1行目の岩鬼くんを抽出することができました!

試しにセルJ9の数値を2に変えてみると…👇

index

このように、上から2行目の殿馬くんを抽出することができました。

表からデータを”縦に”抽出する

次は、表からデータを横に抽出してみましょう。

index

科目番号を入力すると、その科目の得点の一覧が表示されるようにしていきます。
(科目番号は左から順に、1…国語、2…数学、3…英語・・・とします。)

セルC9に、INDEX関数を入力していきます。
検索範囲はオートフィルをしても範囲は移動しないので、$D$1:$H$6と絶対参照にします。
(※範囲を選択した後、F4を押せば絶対参照になります!)

index

行番号はオートフィルとともに移動するので、C10と相対参照のままにします。

index

列番号はオートフィルをしても移動しないので、$L$9と絶対参照にします。

index

あとは右へオートフィルをすると…👇

index
index

表を縦に抽出することに成功しました!
試しに科目番号を2(数学)に変更してみると…👇

index

ちゃんと、科目番号2の数学の得点を抽出することができました。

INDEX関数の使い所(2つの表)

次に、2つの表から抽出する場合を考えていきます。

例えば、講座選択の関係などでクラスが半分に分かれた場合に使えます。

index

この2つの得点表を、1つの名簿に統合しましょう。

まずは、どこかから講座選択の一覧を手に入れます。

index

この名簿を使って、得点を抽出していきましょう。

セルE15にINDEX関数を入力していきます。
得点が入力されている範囲は「D3:D12」と「I3:I12」の2か所です。
どちらもオートフィルで移動しないように、絶対参照にしましょう。
複数の範囲を指定するので、( )でくくって指定します。

index

どちらの表であっても、行番号は出席番号と同じなので「B15」とします。

index

列番号は1列しかないので、「1」と入力します。
(※検索範囲が1列目の場合は、列番号を省略することもできます。)

index

領域番号は、講座番号の「D15」とします。

index

あとは下へオートフィルをすると…👇

index

このように、きれいに1つの表にまとめることができました!

何が起きているのかというと、
・講座1の場合、領域1(D3:D12)から抽出している。
・講座2の場合、領域2(I3:I12)から抽出している。

ということです。

このようにして、2つの表を1つにまとめる際にもINDEX関数が利用できます

まとめ:INDEX関数は表から自在に抽出できる!

いかがでしたでしょうか。

INDEX関数のメリットをまとめると、

INDEX関数のメリット

① 行番号と列番号を数値で指定できる。
② 検索するセルの範囲を数値で指定できる。

という点です。
数値一つで検索範囲をスイッチできるので、活用の幅はとても広いです!

使い所を覚えて、どんどん使っていきましょう!

最後まで読んでいただき、ありがとうございました。

質問やご意見、ご感想などがあればコメント欄にお願いします👇

コメント

タイトルとURLをコピーしました