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

もりの

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

やまの

INDEX関数を使えば、できるんよ。

今回のポイント
  • 1つの範囲の値を取得するなら「=INDEX(配列,行番号,列番号)」
  • 複数範囲の値を取得するなら「=INDEX((参照1,参照2……),行番号,列番号,領域番号)」
  • MATCH関数などと組み合わせて使うことが多い

スポンサーリンク

INDEX関数の使い方を動画で見る

 INDEX関数の練習ファイルダウンロード

もりの
 
 

一緒にやってみませんか?

【Excel・エクセル】指定した場所にある値を取得できる、INDEX関数

この表の上から4行目で、左から3列目の値を知りたい(使いたい)!

なんてときに使えるのが、INDEX関数です。

5行4列の表
スで攻める戦法
やまの

単体で使うよりは、MATCH関数と組み合わせて使うことが多いよ。

MATCH関数関数とINDEX関数を組み合わせれば、VLOOKUP関数よりも柔軟な検索ができるようになります。

その準備として、まずはINDEX関数とは?の部分を知っておきましょう!

ちなみに読み方は、「インデックス関数」です。

【Excel・エクセル】INDEX関数の使い方

INDEX関数の書き方1

=INDEX(配列,行番号,列番号)

INDEXこの範囲の、この位置の値を教えて
配列この範囲の
行番号この位置(上から数えて何行目か)
配列が1列の時は、省略できる
列番号この位置(左から数えて何列目か)
配列が1行の時は、省略できる
INDEX関数の書き方2

=INDEX((参照1,参照2……),行番号,列番号,領域番号)

INDEXこの範囲の、この位置の値を教えて
参照この範囲の(カンマで区切って複数指定)
行番号この位置(上から数えて何行目か)
省略不可
列番号この位置(左から数えて何列目か)
省略不可
領域番号複数指定した参照の、どの範囲か
もりの

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

やまのののんびりした顔
やまの

2つの使い方ができる、ハイブリッドな関数なんよ。

まずは簡単そうな、最初の使い方を見てみましょう。

INDEX関数の使用例(範囲が1つの場合)

先ほどの表の、4行目、3列目にいるポケモンを、INDEX関数で確認してみましょう。

INDEX関数の練習問題
指定した位置のポケモンをゲットせよ!
やまの

=INDEX(A1:D5,4,3)で、求められるよ。説明するね。

ステップ1

まずはINDEX関数を使うよ!と宣言しましょう。

セルB8に、「=INDEX(」と入力してください。

「=INDEX(」まで入力した画像
まずは「=INDEX(」

ステップ2

最初の引数は、この中から探すという、範囲を指定するものでした。

探したい範囲は、セルA1からD5までですよね。

セルA1からD5までをドラッグしてください。

次の引数に移るので、「,(カンマ)」も忘れずに!

探したい範囲をドラッグした画像
探したい範囲をドラッグ

ステップ3

次は、選んだ範囲の何行目、何列目かを指定します。

今回知りたいのは、上から4行目、左から3列目ですよね。

なので「4,3」と入力します。

行番号と列番号を指定した画像
4行3列の位置にいるポケモンは!?
もりの

行、列の順番だね。

やまの

間にカンマを入れるのを、忘れないでね。

完成!

式は完成なので、カッコを閉じて、エンターキーを押すと……

無事、指定した場所の値が分かりました!

INDEX関数で値を取得した画像
ストライク、君に決めた!

INDEX関数の使用例(範囲が複数の場合)

INDEX関数のもう一つの使い方を、見てみましょう。

やまの

さっきの範囲部分を、複数指定できるんよ。

次の表の、水色の範囲とオレンジの範囲、それぞれで値を取得してみましょう。

INDEX関数の練習問題
水と炎の戦い!
もりの

ほのおタイプ、圧倒的不利か!いや、伝説もいるしワンチャン?

行数や列数、領域番号は、セルで指定もできます。
これならオートフィルも使えるので、このやり方でやっていきましょう。

※練習問題ファイルをダウンロードした方は、「INDEX2」シートを開いてください。

やまの

=INDEX(($A$1:$B$5,$C$1:$D$5),A8,B8,C8)で、求められるよ。説明するね。

ステップ1

何はともあれ、まずは関数名を書きましょう。

「=INDEX(」まで入力してください。

「=INDEX(」まで入力した画像
まずは関数名

ステップ2

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

もりの

「INDEX((」になるんだね。

「(」を入力して、1つ目の範囲を選びます。

今回は水色の範囲、セルA1からB5までをドラッグしてください。

一つ目の範囲を選んだ画像
1つ目の範囲を選ぶ

ステップ3

今回は、作ったINDEX関数をオートフィルして使う予定なので、範囲を絶対参照にしておきましょう。

「F4キー」を押して、$マークを付けてください。

絶対参照にした画像
絶対参照にする

ステップ4

次に2つ目の範囲を指定します。
範囲を区切るときは、「,(カンマ)」を使います。

「,」を入力して、2つ目の範囲を選びます。
今回はオレンジの範囲、セルC1からD5までをドラッグしてください。

2つ目の範囲を選択した画像
2つ目の範囲を選択

ステップ5

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

F4キーで絶対参照にした画像
こっちもF4キーで絶対参照に

ステップ6

「,(カンマ)」でつなげれば、さらに範囲を追加できます。

今回はこの2つの範囲だけなので、「)(カッコ閉じ)」を入力して、範囲の指定が終わったことを伝えてあげてください。

そして「,(カンマ)」です。

範囲選択終了の「)」を入力した画像
範囲選択終了の合図

ステップ7

さて次は同じように、上から数えて何行目、左から数えて何列目、を決めていきます。

ここはセルでも指定できるので、行数はセルA8、列数はセルB8で指定したいと思います。

セルA8をクリック→「,(カンマ)」で区切って→セルB8をクリックしてください。

行番号と列番号をセルで指定した画像
行番号と列番号をセルで指定
やまの

引数は続くから、最後に「,(カンマ)」を忘れないでね。

ステップ8

最後に、領域番号を指定します。

なんだか難しそうな言葉ですが、つまりは初めに選んだ複数の範囲の、どの範囲から探すかってことですね。

今回は1番目に水色の範囲、2番目にオレンジの範囲の順で指定したので、領域番号が1=水色の範囲、領域番号が2=オレンジの範囲ってことになります。

これもセルで指定できるので、領域番号を書いたセルC8をクリックしてください。

領域番号をセルで指定した画像
領域番号もセルをクリックでOK

完成!

これで式は完成したので、「)(カッコ閉じ)」して、エンターキーを押してみましょう!

無事、1つ目の範囲の、上から3行目、左から1列目の値をゲットできました!

INDEX関数で値を取得できた画像
タマザラシ、ゲットだぜ!

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

下まで引っ張る画像
オートフィルってみる

一括で値が取得できましたね!

ちゃんとタイプ1は水色の範囲、2はオレンジの範囲から取得されています。

オートフィルした画像
セルで指定した方が、便利!
もりの

長かった……

やまのののんびりした顔
やまの

お疲れさま!

【Excel・エクセル】INDEX関数とMATCH関数を組み合わせて検索する

INDEX関数の主な使い方は、MATCH関数と組み合わせての柔軟な検索です。

やまの

書き方は、こうだよ。

INDEX関数の書き方

=INDEX(配列,MATCH(検査値,検査範囲,照合の種類),列番号)

詳しくは、下記ページでご紹介しています!

【Excel・エクセル】INDEX関数とSUMPRODUCT関数を組み合わせて条件に合う値を抜き出す

担当者が「もりの」、価格が「150」円の商品名を抜き出したい時。

INDEX関数とSUMPRODUCT関数、あとROW関数を組み合わせればOKです。

複数条件に合う値が抜き出せた画像
複数条件に合う値が抜き出せた!
組み合わせの書き方

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

もりのの笑った顔
もりの

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

やまの

1つずつ見ていけば、なんてことはないよ。

詳しくは、下記ページをご確認ください!

【Excel・エクセル】INDEX関数で#REF!エラーが出るときは

行番号、列番号の指定をミスると、#REFエラーが出てきます。

範囲、行番号、列番号が間違えていないか、確認してみてください。

#REFエラーが出た画像
#REFエラーになってしまった

これでINDEX関数の基本がわかったので、他の関数との組み合わせも理解しやすくなりましたね!
それでは、お疲れさまでした!

今回のおさらい
  • 1つの範囲の値を取得するなら「=INDEX(配列,行番号,列番号)」
  • 複数範囲の値を取得するなら「=INDEX((参照1,参照2……),行番号,列番号,領域番号)」
  • MATCH関数などと組み合わせて使うことが多い