サラリーマン戦士が語る、XMATCH・MATCHと組み合わせて最強化する検索テクニック

Excelで検索処理を行うとき、 「VLOOKUPでは左側の列を参照できない…」 「列が増えると数式が壊れる…」 「複雑な検索をもっと柔軟にしたい…」 といった悩みを抱える方は多いと思います。

そんな“検索の限界”を突破してくれるのが INDEX(インデックス)関数 です。

INDEXは、 「行番号 × 列番号」で値を取り出す最強の参照関数 で、 XMATCH・MATCH・FILTER などと組み合わせることで、 Excel検索の自由度が一気に跳ね上がります。

私自身、INDEXを使い始めてから、 VLOOKUPの制約に悩むことがなくなり、 検索処理のストレスが激減しました。

この記事では、INDEXの基本から応用、 そして実務で使ってみた感想まで、 サラリーマン戦士の視点で徹底解説します。

🟦 INDEX関数 とは?Excel検索の“基礎にして最強”の参照関数

INDEXは、 指定した行番号・列番号の位置にある値を返す関数 です。

VLOOKUPのように「左から右」などの制約がなく、 どの方向にも自由に参照できる のが最大の強みです。

🟦 INDEX関数の書式

コード

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

✔ 引数の意味

  • 配列:検索対象の範囲
  • 行番号:何行目を取るか
  • 列番号(任意):何列目を取るか

🟦 基本の使い方

■ 3行目の値を取得

コード

=INDEX(A2:A100, 3)

→ A4 の値を返します。

■ 3行目 × 2列目の値を取得

コード

=INDEX(A2:C100, 3, 2)

→ A2:C100 の「3行目・2列目」の値を返します。

■ 行番号・列番号を別セルで指定

コード

=INDEX(A2:C100, E1, F1)

→ E1 に行番号、F1 に列番号を入れるだけで動的に参照できます。

🟦 INDEX × XMATCH で“最強検索”に進化

INDEXは単体でも強力ですが、 XMATCH関数 と組み合わせると検索の自由度が爆発的に上がります。

■ 商品名から商品コードを取得(XMATCHで行番号を取得)

コード

=INDEX(B2:B100, XMATCH("りんご", A2:A100))
  • A列:商品名
  • B列:商品コード

XMATCHが行番号を返し、INDEXが値を返す最強コンビです。

■ 部分一致で検索(XMATCHのワイルドカード)

コード

=INDEX(B2:B100, XMATCH("りん*", A2:A100, 2))

→ 「りん」で始まる商品名のコードを取得できます。

■ 最新データを取得(逆方向検索)

コード

=INDEX(C2:C100, XMATCH("営業", A2:A100, 0, -1))

→ A列の「営業」を下から検索し、 その行のC列(売上など)を返します。

🟦 INDEX × MATCH(従来の定番)

XMATCHが登場する前は、 INDEXとMATCHの組み合わせが“最強検索”でした。

コード

=INDEX(B2:B100, MATCH("みかん", A2:A100, 0))

MATCHについては MATCH関数 を参照ください。

🟦 INDEX × FILTER で柔軟な抽出

FILTERで抽出した結果の「1件目」を取得する場合:

コード

=INDEX(FILTER(A2:C100, B2:B100="営業"), 1, 1)

→ 営業部の最初の行 × 1列目を取得できます。

FILTERについては FILTER関数 を参照ください。

🟦 INDEX × SEQUENCE で行列を動的に参照

例:上から5行 × 2列を取得

コード

=INDEX(A2:C100, SEQUENCE(5), SEQUENCE(1,2))

SEQUENCEについては SEQUENCE関数 を参照ください。

🟦 INDEXの応用:2次元検索(行×列)

例:商品名 × 月 の交差セルを取得

コード

=INDEX(C2:N100,
       XMATCH("りんご", A2:A100),
       XMATCH("2026/04", C1:N1))

→ 行も列も XMATCH で検索することで、 VLOOKUPでは絶対にできない“2軸検索” が可能になります。

🟦 INDEXの強み(実務で感じたメリット)

✔ VLOOKUPの制約がすべて消える

  • 左側の列も参照できる
  • 列が増えても壊れない
  • 列番号を固定しなくてよい

✔ 配列に強く、FILTERとの相性が抜群

動的配列との組み合わせで、 柔軟な検索・抽出が可能になります。

✔ XMATCHと組み合わせると最強

部分一致・逆方向検索・近似値検索など、 “やりたい検索がそのまま書ける”ようになります。

✔ 実務での安定性が段違い

VLOOKUPのように列追加で壊れることがありません。

🟦 INDEXの注意点(初心者がつまずきやすいポイント)

  • 行番号・列番号は 1から始まる
  • 配列の範囲がずれると結果もずれる
  • FILTER後の配列は「行×列」が変わる
  • XMATCHと組み合わせるときは範囲を揃える

🟦 INDEXとVLOOKUPの違い(比較表)

項目INDEXVLOOKUP
左側参照×
列追加で壊れる×
部分一致◎(XMATCH併用)
逆方向検索◎(XMATCH併用)×
配列対応×
実務向き最強初級〜中級

🧑‍💼 サラリーマン戦士が実際に使ってみた感想

INDEXを使い始めて感じたのは、 「検索処理の自由度が一気に上がる」 ということです。

特に、

  • 列が増えても壊れない
  • 左側の列も参照できる
  • XMATCHと組み合わせると最強
  • FILTER後の配列にも強い

という点が、実務で圧倒的に便利でした。

VLOOKUPで苦労していた頃には戻れません。

🟦 INDEXの実務的な応用アイデア

  • 商品名から商品コードを取得
  • 最新データ(逆方向検索)を取得
  • 日付の最も近い予定を検索
  • FILTERで抽出した結果の特定セルを取得
  • 2軸検索(行×列)でクロス集計

特に、 「FILTER → XMATCH → INDEX」 の流れは、複雑な検索を一瞬で処理できるため、 Excelでのデータ分析が一段レベルアップします。

📝 まとめ:INDEXは“検索の基礎にして最強の参照関数”

  • 行番号 × 列番号で自由に参照できる
  • VLOOKUPの制約をすべて克服
  • XMATCH・MATCHと組み合わせると最強
  • FILTER・SEQUENCEとの相性も抜群
  • 実務での検索精度と安定性が劇的に向上

Excelで検索処理を極めたいなら、 INDEX関数は必ず覚えておくべき関数です。

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です