使用関数:INDEX
(必要に応じてMATCH
も登場)
INDEX関数とは?【基本の考え方】
INDEX
関数は、**「表の中から特定の位置にある値を取り出す」**ための関数です。
=INDEX(範囲, 行番号, [列番号])
これはざっくりと言えば表の中の「◯行目、✕列目」にある値を取り出すという意味合いです。
INDEX関数の基本構文と引数の意味
引数 | 内容 |
---|---|
範囲 | どの表からデータを取得するか(セル範囲) |
行番号 | 何行目か(上から数える) |
列番号 | 何列目か(左から数える) ※省略可能(1列なら) |
INDEX関数の簡単な使用例
サンプル表
A列 | B列 |
---|---|
商品名 | 価格 |
リンゴ | 100 |
バナナ | 120 |
メロン | 300 |
🔹例1:3行目・2列目のデータを取得したい
=INDEX(A2:B4, 2, 2)

結果:
120
(2行目のバナナの価格)
INDEX関数 × MATCH関数 の組み合わせ
おそらくINDEX関数との組み合わせで一番多く使用されるのはMATCH関数かと思われます。
MATCH
関数と組み合わせることで、「行や列番号がわからないとき」でも柔軟に使うことができます!
=INDEX(B2:B4, MATCH("バナナ", A2:A4, 0))
🔍 解説:
MATCH("バナナ", A2:A4, 0)
→ A列で「バナナ」の行番号を探す(結果:2)INDEX(B2:B4, 2)
→ B列の2行目=120
✅ 結果:120(バナナの価格)
これは VLOOKUP
ではできない「左の列を検索して右の列から取得」ということです。
仮にVLOOKUPでバナナの価格を取得するのであれば
=VLOOKUP(“バナナ”,A2:B4,2,0)か
=VLOOKUP(A3,A2:B4,2,0) という形になりますね。

INDEX関数のメリット
特徴 | 説明 |
---|---|
🔁 左方向の検索ができる | VLOOKUPと違って、左の列から検索 → 右に取得以外も自由 |
📋 列の挿入に強い | 列の位置が変わっても壊れにくい |
📌 複数の条件や動的な検索に応用できる | MATCH やIF と組み合わせて柔軟に対応可能 |
実務でよくある活用例
🏢 例1:社員一覧から社員名に対応する部署名を取り出す
=INDEX(C2:C100, MATCH("佐藤", A2:A100, 0))
📊 例2:月別売上表から「2月」の売上を取得
=INDEX(B2:D2, MATCH("2月", B1:D1, 0))
よくあるエラーと対処法
エラー内容 | 原因・対処法 |
---|---|
#REF! | 指定した行・列番号が範囲外になっている可能性 |
#N/A | MATCH 関数が該当データを見つけられない |
空白が返る | 見えないスペース(半角空白など)があるかも |
INDEX関数まとめ
✅ INDEX関数は「位置指定」で値を取り出す関数
✅ MATCH関数と組み合わせれば柔軟な検索が可能
✅ VLOOKUPより安定していて壊れにくい
✅ 左右どちらの列にも対応できるのが大きな強み
どうでしたか?今までVLOOKUP関数のみ使用してきた方もこれを機に
新しい検索の仕方を学んで自らのスキルアップに努めてみてはいかがでしょうか?
今後も記事を作成していく予定なのでまた見に来ていただけると幸いです。
コメント