【Excel・エクセル】INDEX関数とは?使い方を分かりやすく紹介!
![INDEX関数の使い方](https://sakusaku-office.com/wp-content/uploads/2023/10/Excel-index-function-TOP.png)
![](https://sakusaku-office.com/wp-content/uploads/2019/12/morino-normal.png)
この範囲の、4行3列目の値を取得できないかな。
![](https://sakusaku-office.com/wp-content/uploads/2019/12/yamano-normal.png)
INDEX関数を使えば、できるんよ。
- 1つの範囲の値を取得するなら「=INDEX(配列,行番号,列番号)」
- 複数範囲の値を取得するなら「=INDEX((参照1,参照2……),行番号,列番号,領域番号)」
- MATCH関数などと組み合わせて使うことが多い
【Excel・エクセル】INDEX関数とは?分かりやすく
INDEX関数とは、行番号と列番号を指定して、その交差点にあるセルの値を返す関数です。
データ分析や情報の抽出によく使われますね。
![](https://sakusaku-office.com/wp-content/uploads/2019/12/morino-normal.png)
えっと、つまり?
この表の上から4行目、左から3列目の値を知りたい(使いたい)!
なんてときに使えるのが、INDEX関数なのです。
![5行4列の表](https://sakusaku-office.com/wp-content/uploads/2021/10/Excel-index-function-1.png)
![](https://sakusaku-office.com/wp-content/uploads/2019/12/yamano-normal.png)
単体で使うよりは、MATCH関数とかと組み合わせて使うことが多いよ。
MATCH関数とINDEX関数を組み合わせれば、VLOOKUP関数よりも柔軟な検索ができます。
その準備として、まずはINDEX関数とは?の部分を知っておきましょう!
ちなみに読み方は、「インデックス関数」です。
【Excel・エクセル】INDEX関数の使い方
=INDEX(配列,行番号,列番号)
INDEX | この範囲の、この位置の値を教えて |
配列 | この範囲の |
行番号 | この位置(上から数えて何行目か) 配列が1列の時は、省略できる |
列番号 | この位置(左から数えて何列目か) 配列が1行の時は、省略できる |
=INDEX((参照1,参照2……),行番号,列番号,領域番号)
INDEX | この範囲の、この位置の値を教えて |
参照 | この範囲の(カンマで区切って複数指定) |
行番号 | この位置(上から数えて何行目か) 省略不可 |
列番号 | この位置(左から数えて何列目か) 省略不可 |
領域番号 | 複数指定した参照の、どの範囲か |
![](https://sakusaku-office.com/wp-content/uploads/2019/12/morino-normal.png)
ちょま、書き方が2つあるんだけど?
![やまのののんびりした顔](https://sakusaku-office.com/wp-content/uploads/2019/12/yamano-laugh.png)
2つの使い方ができる、ハイブリッドな関数なんよ。
まずは簡単そうな、最初の使い方を見てみましょう。
INDEX関数の使い方は、こちらの動画でも分かりやすくご紹介しています!
INDEX関数の使用例1、範囲が1つの場合
先ほどの表の、4行目、3列目にある値を、INDEX関数で検索してみましょう。
![INDEX関数の練習問題](https://sakusaku-office.com/wp-content/uploads/2021/10/Excel-index-function-2.png)
※実際に操作できます。
いちいちスクロールするのは面倒なので、別タブか別ウィンドウで開くの推奨です!
![](https://sakusaku-office.com/wp-content/uploads/2019/12/yamano-normal.png)
=INDEX(A1:D5,4,3)で、求められるよ。説明するね。
ステップ1
まずは関数名、「=INDEX(」と入力します。
![「=INDEX(」まで入力した画像](https://sakusaku-office.com/wp-content/uploads/2021/10/Excel-index-function-3.png)
ステップ2
次に配列、データがある範囲を指定します。
データがある範囲、セルA1からD5までをドラッグします。
そして「,(カンマ)」。
![探したい範囲をドラッグした画像](https://sakusaku-office.com/wp-content/uploads/2021/10/Excel-index-function-4.png)
ステップ3
次は行番号と列番号。何行目、何列目の値を抽出するかですね。
今回は上から4行目、左から3列目のデータを知りたいので「4,3」と入力します。
![行番号と列番号を指定した画像](https://sakusaku-office.com/wp-content/uploads/2021/10/Excel-index-function-5.png)
![](https://sakusaku-office.com/wp-content/uploads/2019/12/morino-normal.png)
行、列の順番だね。
![](https://sakusaku-office.com/wp-content/uploads/2019/12/yamano-normal.png)
間に「,(カンマ)」を入れるのを、忘れないでね。
完成!
これで式は完成です!
Enterを押せば、無事、指定した位置のデータをゲットだぜ!
![INDEX関数で値を取得した画像](https://sakusaku-office.com/wp-content/uploads/2021/10/Excel-index-function-6.png)
INDEX関数の使用例2、範囲が複数の場合
INDEX関数のもう1つの使い方も、見てみましょう。
さっきは1つの範囲内でデータを抽出しましたが、この範囲は複数指定できます。
![](https://sakusaku-office.com/wp-content/uploads/2019/12/yamano-normal.png)
Aの範囲の3行3列目の値、Bの範囲の3行3列目の値って感じで分けられるんよ。
次の表の、水色の範囲とオレンジの範囲、それぞれで値を取得してみましょう。
![INDEX関数の練習問題](https://sakusaku-office.com/wp-content/uploads/2021/10/Excel-index-function-7.png)
※練習問題をお使いの方は、「INDEX2」シートを開いてください。
![](https://sakusaku-office.com/wp-content/uploads/2019/12/yamano-normal.png)
=INDEX(($A$1:$B$5,$C$1:$D$5),A8,B8,C8)で、求められるよ。説明するね。
ステップ1
何はともあれ、まずは関数名「=INDEX(」まで入力してください。
![「=INDEX(」まで入力した画像](https://sakusaku-office.com/wp-content/uploads/2021/10/Excel-index-function-8.png)
ステップ2
次に参照、データがある範囲ですね。
複数範囲を指定するときは、範囲をカッコで囲みます。
![](https://sakusaku-office.com/wp-content/uploads/2019/12/morino-normal.png)
「INDEX((」になるんだね。
「(」を入力して、1つ目の範囲を選びます。
今回は水色の範囲、セルA1からB5までをドラッグしてください。
![一つ目の範囲を選んだ画像](https://sakusaku-office.com/wp-content/uploads/2021/10/Excel-index-function-9.png)
ステップ3
今回は、作ったINDEX関数をオートフィルして使う予定なので、範囲を絶対参照にしておきましょう。
「F4キー」を押して、$マークを付けてください。
![絶対参照にした画像](https://sakusaku-office.com/wp-content/uploads/2021/10/Excel-index-function-12.png)
ステップ4
次に2つ目の範囲。範囲を区切るときは、「,(カンマ)」を使います。
「,」を入力して、2つ目の範囲、セルC1からD5までをドラッグしてください。
![2つ目の範囲を選択した画像](https://sakusaku-office.com/wp-content/uploads/2021/10/Excel-index-function-10.png)
ステップ5
こちらも「F4キー」で$マークを付けて、範囲を絶対参照にしておきましょう。
![F4キーで絶対参照にした画像](https://sakusaku-office.com/wp-content/uploads/2021/10/Excel-index-function-13.png)
![](https://sakusaku-office.com/wp-content/uploads/2019/12/yamano-normal.png)
「,(カンマ)」でつなげれば、さらに範囲を追加できるよ。
ステップ6
参照が終わったら「)(カッコ閉じ)」を入力して、範囲の指定が終わったことを伝えます。
そして「,(カンマ)」。
![範囲選択終了の「)」を入力した画像](https://sakusaku-office.com/wp-content/uploads/2021/10/Excel-index-function-11.png)
ステップ7
次は行番号と列番号。
上から数えて何行目、左から数えて何列目、を指定します。
今回どちらもセルに記載してあるので、そのセルを参照しましょう。
セルA8をクリック→「,(カンマ)」→セルB8をクリック→「,(カンマ)」です。
![行番号と列番号をセルで指定した画像](https://sakusaku-office.com/wp-content/uploads/2021/10/Excel-index-function-14.png)
ステップ8
最後に、領域番号を指定します。
![もりのの笑った顔](https://sakusaku-office.com/wp-content/uploads/2019/12/morino-laugh.png)
領域展開!
今回は範囲(参照)を2つ指定したので、どっちの範囲から検索するの?ってのをここで指定します。
今回は1番目に水色の範囲、2番目にオレンジの範囲を指定したので、領域番号1=水色の範囲、領域番号2=オレンジの範囲ってことになります。
これもすでにセルに記載しているので、セルC8をクリックして参照しましょう。
![領域番号をセルで指定した画像](https://sakusaku-office.com/wp-content/uploads/2021/10/Excel-index-function-15.png)
完成!
これで式は完成なので、「)(カッコ閉じ)」して、Enterを押してください!
無事、1つ目の範囲の、上から3行目、左から1列目の値をゲットできました!
![INDEX関数で値を取得できた画像](https://sakusaku-office.com/wp-content/uploads/2021/10/Excel-index-function-16.png)
オートフィルで引っ張ると……
![下まで引っ張る画像](https://sakusaku-office.com/wp-content/uploads/2021/10/Excel-index-function-17.png)
一括で値が取得できましたね!
ちゃんとタイプ1は水色の範囲、2はオレンジの範囲から取得されています。
![オートフィルした画像](https://sakusaku-office.com/wp-content/uploads/2021/10/Excel-index-function-18.png)
![](https://sakusaku-office.com/wp-content/uploads/2019/12/morino-normal.png)
長かった……
![やまのののんびりした顔](https://sakusaku-office.com/wp-content/uploads/2019/12/yamano-laugh.png)
お疲れさま!
【Excel・エクセル】INDEX関数とMATCH関数を組み合わせて検索する
INDEX関数の主な使い方は、MATCH関数と組み合わせた柔軟な検索です。
![MATCH関数とINDEX関数で、商品名を検索できた画像](https://sakusaku-office.com/wp-content/uploads/2021/10/Excel-match-and-index-combination-13.png)
![](https://sakusaku-office.com/wp-content/uploads/2019/12/yamano-normal.png)
書き方は、こうだよ。
=INDEX(配列,MATCH(検査値,検査範囲,照合の種類),列番号)
詳しくは、下記ページでご紹介しています!
【Excel・エクセル】INDEX関数とSUMPRODUCT関数を組み合わせて条件に合う値を抜き出す
担当者が「もりの」、価格が「150」円の商品名を抜き出したい時。
INDEX関数とSUMPRODUCT関数、あとROW関数を組み合わせればOKです。
![複数条件に合う値が抜き出せた画像](https://sakusaku-office.com/wp-content/uploads/2022/05/Excel-sumproduct-index-9.png)
=INDEX(取り出したい値がある列,SUMPRODUCT((1つ目の条件範囲=1つ目の条件)*(2つ目の条件範囲=2つ目の条件),ROW(求めたい値がある列)))
![もりのの笑った顔](https://sakusaku-office.com/wp-content/uploads/2019/12/morino-laugh.png)
いや、これは難しそうで寒気がしてきた!
![](https://sakusaku-office.com/wp-content/uploads/2019/12/yamano-normal.png)
1つずつ見ていけば、なんてことはないよ。
詳しくは、下記ページをご確認ください!
【Excel・エクセル】INDEX関数で#REF!エラーが出るときは
行番号、列番号の指定をミスると、#REFエラーが出てきます。
範囲、行番号、列番号が間違えていないか、確認してみてください。
![#REFエラーが出た画像](https://sakusaku-office.com/wp-content/uploads/2021/10/Excel-index-function-19.png)
これでINDEX関数の基本がわかったので、他の関数との組み合わせも理解しやすくなりましたね!
それでは、お疲れさまでした!
- 1つの範囲の値を取得するなら「=INDEX(配列,行番号,列番号)」
- 複数範囲の値を取得するなら「=INDEX((参照1,参照2……),行番号,列番号,領域番号)」
- MATCH関数などと組み合わせて使うことが多い
ディスカッション
コメント一覧
まだ、コメントがありません