【初心者向け】Excel INDEX関数の使い方完全ガイド

PHP

「Excelの関数って難しそう…」
「INDEX関数って名前は聞いたことがあるけど、どんなときに使うの?」

そんな疑問をお持ちの方に向けて、Excel INDEX関数の使い方を、初心者の方にもわかりやすく説明します。

この記事を読めば、INDEX関数の基本から実際の使い方まで、しっかり理解できるようになります。

スポンサーリンク

INDEX関数ってなに?

機能の説明

INDEX関数は、表の中から指定した位置にあるデータを取り出す関数です。

本棚を例に考えてみましょう。「上から3段目、左から2番目の本を取って」と言われたら、その位置にある本を取りますよね。

INDEX関数も同じで、「何行目、何列目」を指定すると、その位置にあるデータを取り出してくれます。

INDEX関数の特徴

  • 表の中から特定の位置のデータを取り出せる
  • 行番号と列番号を指定するだけで使える
  • 大きな表からピンポイントでデータを抜き出せる

こんなときに便利

社員名簿から情報を探すとき 「田中さんの電話番号を知りたい」というとき

成績表から点数を確認するとき 「数学の3番目の人の点数は?」というとき

商品リストから価格を調べるとき 「商品コードXYZの値段はいくら?」というとき

INDEX関数の基本的な書き方

構文の説明

INDEX関数は、次のように書きます:

=INDEX(範囲, 行番号, 列番号)

それぞれの意味

  • 範囲:データが入っている表の部分
  • 行番号:上から何番目の行かを指定
  • 列番号:左から何番目の列かを指定

列番号は省略できる 表が1列だけの場合は、列番号を書かなくても大丈夫です。

実際に使ってみよう

例1:社員名簿から名前を取り出す

説明 次のような社員名簿があるとします:

ABC
田中営業部内線123
佐藤経理部内線456
山田総務部内線789

この表から、2行目1列目(佐藤)を取り出してみましょう。

数式例

=INDEX(A1:C3, 2, 1)

実行結果

佐藤

解説

  • A1:C3:データが入っている範囲
  • 2:上から2番目の行
  • 1:左から1番目の列

例2:成績表から点数を取り出す

説明 次のような成績表があるとします:

AB
田中85
佐藤92
山田78

この表から、3番目の人の点数(78)を取り出してみましょう。

数式例

=INDEX(B1:B3, 3)

実行結果

78

解説

  • B1:B3:点数が入っている範囲(1列だけ)
  • 3:上から3番目の行
  • 列番号は省略(1列しかないため)

MATCH関数と組み合わせてもっと便利に

MATCH関数とは

MATCH関数は、指定したデータが何番目にあるかを教えてくれる関数です。

図書館で本を探すとき、「この本は何番目の棚にありますか?」と聞くようなものです。

MATCH関数の書き方

=MATCH(探したいデータ, 探す範囲, 0)

最後の0は「完全に一致するもの」という意味です。

INDEX関数とMATCH関数を組み合わせる

例:名前から点数を調べる

説明 次のような成績表で、「山田」の点数を調べたいとします:

AB
田中85
佐藤92
山田78
鈴木88

数式例

=INDEX(B1:B4, MATCH("山田", A1:A4, 0))

実行結果

78

解説

  1. MATCH("山田", A1:A4, 0)で「山田」が何番目にあるかを調べる → 3番目
  2. INDEX(B1:B4, 3)で点数の3番目を取り出す → 78

これで、名前を指定するだけで自動的に点数がわかるようになります。

よくあるエラーと解決方法

#REF! エラー

原因 指定した行番号や列番号が、範囲の外になっている

=INDEX(A1:C3, 5, 1)  // 5行目は存在しない

解決方法

  • 行番号・列番号が範囲内かを確認する
  • 範囲を広げるか、番号を正しく修正する

#N/A エラー

原因 MATCH関数で探しているデータが見つからない

=INDEX(B1:B4, MATCH("高橋", A1:A4, 0))  // 「高橋」が名簿にない

解決方法

  • 探しているデータが正しく入力されているか確認
  • 大文字・小文字、全角・半角の違いもチェック
  • IFERROR関数で「データなし」と表示させる

エラー対策の例

=IFERROR(INDEX(B1:B4, MATCH("高橋", A1:A4, 0)), "データなし")

実際の職場でよく使う例

例1:商品検索システム

説明 商品コードを入力すると、商品名と価格が自動表示されるシステム

表の例

ABC
P001りんご150
P002みかん120
P003ぶどう300

使用する数式

// 商品名を表示
=INDEX(B1:B3, MATCH(E1, A1:A3, 0))

// 価格を表示  
=INDEX(C1:C3, MATCH(E1, A1:A3, 0))

E1セルに商品コード(P002など)を入力すると、自動的に商品名と価格が表示されます。

例2:社員情報検索

説明 社員名を入力すると、部署と内線番号が自動表示されるシステム

表の例

ABC
田中営業部内線123
佐藤経理部内線456
山田総務部内線789

使用する数式

// 部署を表示
=INDEX(B1:B3, MATCH(E1, A1:A3, 0))

// 内線番号を表示
=INDEX(C1:C3, MATCH(E1, A1:A3, 0))

例3:月別売上検索

説明 月を指定すると、その月の売上が自動表示されるシステム

表の例

AB
1月1200000
2月1350000
3月1180000

使用する数式

=INDEX(B1:B3, MATCH(E1&"月", A1:A3, 0))

E1セルに数字(1、2、3など)を入力すると、その月の売上が表示されます。

練習問題にチャレンジ

理解を深めるために、簡単な練習をしてみましょう。

問題1
次の表で、3行目2列目の値を取り出すINDEX関数を書いてください。

ABC
商品A100在庫あり
商品B200在庫なし
商品C150在庫あり

答え

=INDEX(A1:C3, 3, 2)
// 結果:150

問題2
上の表で、「商品B」の在庫状況を調べるINDEX関数とMATCH関数の組み合わせを書いてください。

答え

=INDEX(C1:C3, MATCH("商品B", A1:A3, 0))
// 結果:在庫なし

よくある質問と答え

Q. INDEX関数とVLOOKUP関数の違いは何ですか?
A. VLOOKUP関数は左の列から右の列を検索しますが、INDEX+MATCH関数は任意の方向で検索できます。また、INDEX+MATCH関数の方が処理速度が速いことが多いです。

Q. 範囲が変わったとき、数式も変更する必要がありますか?
A. データが追加される可能性がある場合は、範囲を広めに取っておくか、テーブル機能を使うと自動的に範囲が拡張されます。

Q. 複数の条件で検索することはできますか?
A. はい。配列数式や他の関数と組み合わせることで、複数条件での検索も可能です。

まとめ:INDEX関数でExcelをもっと便利に

INDEX関数を使えば、大きな表からピンポイントでデータを取り出せるようになります。

ポイントおさらい:

  • 基本構文=INDEX(範囲, 行番号, 列番号)
  • MATCH関数との組み合わせ:名前などで検索できる
  • エラー対策:IFERROR関数で「データなし」表示
  • 実務活用:商品検索、社員情報検索など

コメント

タイトルとURLをコピーしました