【Excel・エクセル】INDEX関数の使い方!行と列を指定して、値を持ってくる関数?

この範囲の、4行3列目の値を取得できないかな。

INDEX関数を使えば、できるんよ。
- 1つの範囲の値を取得するなら「=INDEX(配列,行番号,列番号)」
- 複数範囲の値を取得するなら「=INDEX((参照1,参照2……),行番号,列番号,領域番号)」
- MATCH関数などと組み合わせて使うことが多い
INDEX関数の使い方を動画で見る
INDEX関数の練習ファイルダウンロード

一緒にやってみませんか?
【Excel・エクセル】指定した場所にある値を取得できる、INDEX関数
この表の上から4行目で、左から3列目の値を知りたい(使いたい)!
なんてときに使えるのが、INDEX関数です。


単体で使うよりは、MATCH関数と組み合わせて使うことが多いよ。
MATCH関数関数とINDEX関数を組み合わせれば、VLOOKUP関数よりも柔軟な検索ができるようになります。
その準備として、まずはINDEX関数とは?の部分を知っておきましょう!
ちなみに読み方は、「インデックス関数」です。
【Excel・エクセル】INDEX関数の使い方
=INDEX(配列,行番号,列番号)
INDEX | この範囲の、この位置の値を教えて |
配列 | この範囲の |
行番号 | この位置(上から数えて何行目か) 配列が1列の時は、省略できる |
列番号 | この位置(左から数えて何列目か) 配列が1行の時は、省略できる |
=INDEX((参照1,参照2……),行番号,列番号,領域番号)
INDEX | この範囲の、この位置の値を教えて |
参照 | この範囲の(カンマで区切って複数指定) |
行番号 | この位置(上から数えて何行目か) 省略不可 |
列番号 | この位置(左から数えて何列目か) 省略不可 |
領域番号 | 複数指定した参照の、どの範囲か |

ちょま、書き方が2つあるんだけど?

2つの使い方ができる、ハイブリッドな関数なんよ。
まずは簡単そうな、最初の使い方を見てみましょう。
INDEX関数の使用例(範囲が1つの場合)
先ほどの表の、4行目、3列目にいるポケモンを、INDEX関数で確認してみましょう。


=INDEX(A1:D5,4,3)で、求められるよ。説明するね。
ステップ1
まずはINDEX関数を使うよ!と宣言しましょう。
セルB8に、「=INDEX(」と入力してください。

ステップ2
最初の引数は、この中から探すという、範囲を指定するものでした。
探したい範囲は、セルA1からD5までですよね。
セルA1からD5までをドラッグしてください。
次の引数に移るので、「,(カンマ)」も忘れずに!

ステップ3
次は、選んだ範囲の何行目、何列目かを指定します。
今回知りたいのは、上から4行目、左から3列目ですよね。
なので「4,3」と入力します。


行、列の順番だね。

間にカンマを入れるのを、忘れないでね。
完成!
式は完成なので、カッコを閉じて、エンターキーを押すと……
無事、指定した場所の値が分かりました!

INDEX関数の使用例(範囲が複数の場合)
INDEX関数のもう一つの使い方を、見てみましょう。

さっきの範囲部分を、複数指定できるんよ。
次の表の、水色の範囲とオレンジの範囲、それぞれで値を取得してみましょう。


ほのおタイプ、圧倒的不利か!いや、伝説もいるしワンチャン?
行数や列数、領域番号は、セルで指定もできます。
これならオートフィルも使えるので、このやり方でやっていきましょう。
※練習問題ファイルをダウンロードした方は、「INDEX2」シートを開いてください。

=INDEX(($A$1:$B$5,$C$1:$D$5),A8,B8,C8)で、求められるよ。説明するね。
ステップ1
何はともあれ、まずは関数名を書きましょう。
「=INDEX(」まで入力してください。

ステップ2
次に探したい範囲を指定します。
複数範囲を指定するときは、範囲をカッコで囲みます。

「INDEX((」になるんだね。
「(」を入力して、1つ目の範囲を選びます。
今回は水色の範囲、セルA1からB5までをドラッグしてください。

ステップ3
今回は、作ったINDEX関数をオートフィルして使う予定なので、範囲を絶対参照にしておきましょう。
「F4キー」を押して、$マークを付けてください。

ステップ4
次に2つ目の範囲を指定します。
範囲を区切るときは、「,(カンマ)」を使います。
「,」を入力して、2つ目の範囲を選びます。
今回はオレンジの範囲、セルC1からD5までをドラッグしてください。

ステップ5
こちらも「F4キー」で$マークを付けて、範囲を絶対参照にしておいてください。

ステップ6
「,(カンマ)」でつなげれば、さらに範囲を追加できます。
今回はこの2つの範囲だけなので、「)(カッコ閉じ)」を入力して、範囲の指定が終わったことを伝えてあげてください。
そして「,(カンマ)」です。

ステップ7
さて次は同じように、上から数えて何行目、左から数えて何列目、を決めていきます。
ここはセルでも指定できるので、行数はセルA8、列数はセルB8で指定したいと思います。
セルA8をクリック→「,(カンマ)」で区切って→セルB8をクリックしてください。


引数は続くから、最後に「,(カンマ)」を忘れないでね。
ステップ8
最後に、領域番号を指定します。
なんだか難しそうな言葉ですが、つまりは初めに選んだ複数の範囲の、どの範囲から探すかってことですね。
今回は1番目に水色の範囲、2番目にオレンジの範囲の順で指定したので、領域番号が1=水色の範囲、領域番号が2=オレンジの範囲ってことになります。
これもセルで指定できるので、領域番号を書いたセルC8をクリックしてください。

完成!
これで式は完成したので、「)(カッコ閉じ)」して、エンターキーを押してみましょう!
無事、1つ目の範囲の、上から3行目、左から1列目の値をゲットできました!

今回はセルで指定したので、オートフィルで引っ張ると……

一括で値が取得できましたね!
ちゃんとタイプ1は水色の範囲、2はオレンジの範囲から取得されています。


長かった……

お疲れさま!
【Excel・エクセル】INDEX関数とMATCH関数を組み合わせて検索する
INDEX関数の主な使い方は、MATCH関数と組み合わせての柔軟な検索です。

書き方は、こうだよ。
=INDEX(配列,MATCH(検査値,検査範囲,照合の種類),列番号)
詳しくは、下記ページでご紹介しています!
【Excel・エクセル】INDEX関数とSUMPRODUCT関数を組み合わせて条件に合う値を抜き出す
担当者が「もりの」、価格が「150」円の商品名を抜き出したい時。
INDEX関数とSUMPRODUCT関数、あとROW関数を組み合わせればOKです。

=INDEX(取り出したい値がある列,SUMPRODUCT((1つ目の条件範囲=1つ目の条件)*(2つ目の条件範囲=2つ目の条件),ROW(求めたい値がある列)))

いや、これは難しそうで寒気がしてきた!

1つずつ見ていけば、なんてことはないよ。
詳しくは、下記ページをご確認ください!
【Excel・エクセル】INDEX関数で#REF!エラーが出るときは
行番号、列番号の指定をミスると、#REFエラーが出てきます。
範囲、行番号、列番号が間違えていないか、確認してみてください。

これでINDEX関数の基本がわかったので、他の関数との組み合わせも理解しやすくなりましたね!
それでは、お疲れさまでした!
- 1つの範囲の値を取得するなら「=INDEX(配列,行番号,列番号)」
- 複数範囲の値を取得するなら「=INDEX((参照1,参照2……),行番号,列番号,領域番号)」
- MATCH関数などと組み合わせて使うことが多い
ディスカッション
コメント一覧
まだ、コメントがありません