【Excel・エクセル】INDEX関数とは?使い方を分かりやすく紹介!

抽出,検索

INDEX関数の使い方
もりの

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

やまの

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

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

スポンサーリンク

【Excel・エクセル】INDEX関数とは?分かりやすく

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関数の使い方は、こちらの動画でも分かりやすくご紹介しています!

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

先ほどの表の、4行目、3列目にある値を、INDEX関数で検索してみましょう。

INDEX関数の練習問題
指定した位置の値をゲットせよ!

※実際に操作できます。

いちいちスクロールするのは面倒なので、別タブか別ウィンドウで開くの推奨です!

やまの

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

ステップ1

まずは関数名、「=INDEX(」と入力します。

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

ステップ2

次に配列、データがある範囲を指定します。

データがある範囲、セルA1からD5までをドラッグします。

そして「,(カンマ)」

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

ステップ3

次は行番号と列番号。何行目、何列目の値を抽出するかですね。

今回は上から4行目、左から3列目のデータを知りたいので「4,3」と入力します。

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

行、列の順番だね。

やまの

間に「,(カンマ)」を入れるのを、忘れないでね。

完成!

これで式は完成です!

Enterを押せば、無事、指定した位置のデータをゲットだぜ!

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

INDEX関数の使用例2、範囲が複数の場合

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

さっきは1つの範囲内でデータを抽出しましたが、この範囲は複数指定できます。

やまの

Aの範囲の3行3列目の値、Bの範囲の3行3列目の値って感じで分けられるんよ。

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

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

参照が終わったら「)(カッコ閉じ)」を入力して、範囲の指定が終わったことを伝えます。

そして「,(カンマ)」

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

ステップ7

次は行番号と列番号。

上から数えて何行目、左から数えて何列目、を指定します。

今回どちらもセルに記載してあるので、そのセルを参照しましょう。

セルA8をクリック→「,(カンマ)」→セルB8をクリック→「,(カンマ)」です。

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

ステップ8

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

もりのの笑った顔
もりの

領域展開!

今回は範囲(参照)を2つ指定したので、どっちの範囲から検索するの?ってのをここで指定します。

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

これもすでにセルに記載しているので、セルC8をクリックして参照しましょう。

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

完成!

これで式は完成なので、「)(カッコ閉じ)」して、Enterを押してください!

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

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

オートフィルで引っ張ると……

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

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

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

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

長かった……

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

お疲れさま!

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

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

MATCH関数とINDEX関数で、商品名を検索できた画像
MATCH関数とINDEX関数で、商品名を検索した図
やまの

書き方は、こうだよ。

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関数などと組み合わせて使うことが多い