こんにちは。福田泰裕です。
教師の事務作業のほとんどは、EXCELとの戦いです。
EXCELの関数を使いこなすことで、その業務量を削減することができます。
今回は、INDEX関数の使い方をご紹介します。
INDEX関数?
聞いたことないなぁ…
INDEX関数?
聞いたことあるけど、どこで使うのか知らないなぁ…
INDEX関数?
あのMATCH関数と組み合わせて使うヤツでしょ?
詳しくは知らんけど…
きっと多くの方にとって、INDEX関数の扱いはこの程度だと思います。
しかしこのINDEX関数、実は単独でも結構便利な関数です!
それなのにこの扱い…可哀相です😢
今回はそんな不遇な状況に置かれているINDEX関数をご紹介します!
最後まで読んでいただけると嬉しいです。
目次
INDEX関数には3つの引数があります。
範囲 | 検索するセルの範囲。 |
行番号 | 値を返す行番号。上から何行目かを指定する。 |
列番号 | 値を返す列番号。左から何列目かを指定する。 |
とても簡単なので、具体例を見ながら解説していきます。
次のような表を例に考えていきましょう。
この表から、「ち」を抜き出すINDEX関数を考えていきます。
検索するセルの範囲は「B2:F12」とします。
「ち」は、上から4行目、左から2番目にあるので、
=INDEX(B2:F12,4,2)
と入力してみましょう👇
ENTERを押すと…👇
表の上から4行目、左から2列目にある「ち」を抽出することができました。
行番号と列番号は、セルから参照することも可能です。
上のように、セルを参照して行番号と列番号を指定することもできます。
上で紹介した通り、INDEX関数は範囲、行番号、列番号を指定して値を抽出する関数です。
しかし、もう一つの使い方があります。
範囲 | 検索するセルの範囲。( )でくくることで、複数の範囲を指定できる。 |
行番号 | 値を返す行番号。上から何行目かを指定する。 |
列番号 | 値を返す列番号。左から何列目かを指定する。 |
領域番号 | 検索する領域の番号。何番目の領域から抽出するのか指定する。 |
このように、複数の範囲を指定することができるのです。
複数の範囲から、検索する範囲を指定して抽出することができます。
次のような表で使い方を解説していきます。
検索する範囲を、「B5:F9」と「I5:M10」の2つの範囲にしてみます。
ここから、「る」を抽出してみましょう。
「る」は、2つ目の領域(I5:M10)、上から4番目、右から3番目にあるので、
=INDEX((B5:F9,I5:M10),4,3,2)
と入力します👇
ENTERを押すと…👇
「る」が抽出できました!
このように、INDEX関数は検索する範囲を数字一つで変えることができるのです!
それでは、このINDEX関数をどのタイミングで使うのかを紹介します。
INDEX関数のメリットは、次の2点です。
この数値で指定できるというのが大きなメリットです。
それでは、使い所を考えていきましょう。
まず考えられるのが、表からデータを抜き出す場面です。
1つの表から、目的の数値を抽出してみましょう。
例として、次の表を使います。
まず、この表からデータを横に抽出してみましょう。
セルJ9で表の上から何番目の生徒か指定することで、その生徒の番号と得点が抽出されるようにします。
セルA9に、INDEX関数を入力していきます。
オートフィルをしても範囲は移動しないので、$A$2:$I$6と絶対参照にします。
(※範囲を選択した後、F4を押せば絶対参照になります!)
行番号もオートフィルで移動しないので、$J$9と絶対参照にします。
列番号はオートフィルと共に右へ移動するので、A10と相対参照のままにします。
あとは右へオートフィルをすると…👇
このように、上から1行目の岩鬼くんを抽出することができました!
試しにセルJ9の数値を2に変えてみると…👇
このように、上から2行目の殿馬くんを抽出することができました。
次は、表からデータを横に抽出してみましょう。
科目番号を入力すると、その科目の得点の一覧が表示されるようにしていきます。
(科目番号は左から順に、1…国語、2…数学、3…英語・・・とします。)
セルC9に、INDEX関数を入力していきます。
検索範囲はオートフィルをしても範囲は移動しないので、$D$1:$H$6と絶対参照にします。
(※範囲を選択した後、F4を押せば絶対参照になります!)
行番号はオートフィルとともに移動するので、C10と相対参照のままにします。
列番号はオートフィルをしても移動しないので、$L$9と絶対参照にします。
あとは右へオートフィルをすると…👇
表を縦に抽出することに成功しました!
試しに科目番号を2(数学)に変更してみると…👇
ちゃんと、科目番号2の数学の得点を抽出することができました。
次に、2つの表から抽出する場合を考えていきます。
例えば、講座選択の関係などでクラスが半分に分かれた場合に使えます。
この2つの得点表を、1つの名簿に統合しましょう。
まずは、どこかから講座選択の一覧を手に入れます。
この名簿を使って、得点を抽出していきましょう。
セルE15にINDEX関数を入力していきます。
得点が入力されている範囲は「D3:D12」と「I3:I12」の2か所です。
どちらもオートフィルで移動しないように、絶対参照にしましょう。
複数の範囲を指定するので、( )でくくって指定します。
どちらの表であっても、行番号は出席番号と同じなので「B15」とします。
列番号は1列しかないので、「1」と入力します。
(※検索範囲が1列目の場合は、列番号を省略することもできます。)
領域番号は、講座番号の「D15」とします。
あとは下へオートフィルをすると…👇
このように、きれいに1つの表にまとめることができました!
何が起きているのかというと、
・講座1の場合、領域1(D3:D12)から抽出している。
・講座2の場合、領域2(I3:I12)から抽出している。
ということです。
このようにして、2つの表を1つにまとめる際にもINDEX関数が利用できます!
いかがでしたでしょうか。
INDEX関数のメリットをまとめると、
という点です。
数値一つで検索範囲をスイッチできるので、活用の幅はとても広いです!
使い所を覚えて、どんどん使っていきましょう!