ExcelのINDEX関数とMATCH関数の使い方|VLOOKUPより便利な検索方法
Excelでデータ検索を行うとき、多くの人がまず思い浮かべるのが VLOOKUP関数です。
しかし、Excelをより深く使うようになると、多くの実務ユーザーが INDEX関数 + MATCH関数の組み合わせを使うようになります。
なぜなら、この方法はVLOOKUPよりも 柔軟で強力な検索ができるからです。
例えば次のような場面です。
-
列の順序に依存しない検索をしたい
-
左方向の検索をしたい
-
検索範囲を柔軟に変更したい
-
大量データでも高速に検索したい
-
行と列の両方から検索したい
VLOOKUPだけでは対応できないケースでも、INDEXとMATCHを組み合わせることで解決できることが多いです。
この記事では、Excelの INDEX関数とMATCH関数の基本から実践までを丁寧に解説します。
具体的には次の内容を扱います。
-
INDEX関数の基本
-
MATCH関数の基本
-
INDEX + MATCHの組み合わせ
-
VLOOKUPとの違い
-
左検索の方法
-
行列の二次元検索
-
実務でよく使う応用パターン
-
よくあるエラーの原因
Excel初心者でも理解できるよう、サンプル付きで詳しく説明していきます。
INDEX関数とは
INDEX関数は、指定した位置にある値を返す関数です。
つまり、行番号と列番号を指定して値を取得する関数です。
INDEX関数の基本構文
引数の意味
| 引数 | 説明 |
|---|---|
| 範囲 | データ範囲 |
| 行番号 | 何行目か |
| 列番号 | 何列目か |
INDEX関数の簡単な例
例えば次の表があります。
| ID | 名前 | 部署 |
|---|---|---|
| 1 | 田中 | 営業 |
| 2 | 佐藤 | 総務 |
| 3 | 鈴木 | 開発 |
この表が A2:C4 にあるとします。
INDEXで値を取得
結果
理由
-
範囲 → A2:C4
-
行番号 → 2
-
列番号 → 2
つまり
の値になります。
MATCH関数とは
MATCH関数は、指定した値が範囲の何番目にあるかを返す関数です。
つまり、位置を探す関数です。
MATCH関数の基本構文
引数
| 引数 | 説明 |
|---|---|
| 検索値 | 探したい値 |
| 検索範囲 | 探す範囲 |
| 照合方法 | 検索方法 |
照合方法の意味
| 値 | 意味 |
|---|---|
| 0 | 完全一致 |
| 1 | 以下最大 |
| -1 | 以上最小 |
実務では 0(完全一致) を使うことがほとんどです。
MATCH関数の例
例えば次のデータがあります。
| 名前 |
|---|
| 田中 |
| 佐藤 |
| 鈴木 |
範囲は
MATCH
結果
理由
佐藤は 2番目 にあるからです。
INDEXとMATCHを組み合わせる理由
ここで重要なのが
MATCHは位置を探す
INDEXは値を取得する
という点です。
つまり
INDEX → その行の値を取得
これを組み合わせると、柔軟な検索が可能になります。
INDEX + MATCHの基本
例えば次の表を使います。
| ID | 名前 | 部署 |
|---|---|---|
| 1 | 田中 | 営業 |
| 2 | 佐藤 | 総務 |
| 3 | 鈴木 | 開発 |
目的
数式
処理の流れ
① MATCH
結果
② INDEX
結果
VLOOKUPとの違い
INDEX + MATCHが優れている理由を整理します。
VLOOKUPの構文
VLOOKUPの問題点
1 左検索できない
例えば
| 部署 | 名前 |
|---|---|
| 営業 | 田中 |
| 総務 | 佐藤 |
部署から名前を探す場合
2 列番号に依存
列を追加すると壊れることがあります。
3 範囲が固定
柔軟な検索が難しいです。
INDEX + MATCHのメリット
| 特徴 | INDEX + MATCH |
|---|---|
| 左検索 | 可能 |
| 列追加 | 壊れない |
| 柔軟性 | 高い |
| 高速 | 大量データで有利 |
左方向検索(VLOOKUPではできない)
例えば
| 部署 | 名前 |
|---|---|
| 営業 | 田中 |
| 総務 | 佐藤 |
| 開発 | 鈴木 |
部署 → 名前
数式
結果
これは VLOOKUPではできない検索です。
行と列の二次元検索
INDEX + MATCHは 二次元検索もできます。
例えば
| 1月 | 2月 | 3月 | |
|---|---|---|---|
| 東京 | 100 | 120 | 130 |
| 大阪 | 90 | 110 | 125 |
| 名古屋 | 80 | 100 | 120 |
目的
数式
MATCH("大阪",A2:A4,0),
MATCH("2月",B1:D1,0))
結果
INDEX + MATCH + MATCH(2軸検索)
この方法は
列 → MATCH
で検索できます。
非常に実務で使われます。
Si quieres conocer otros artículos parecidos a ExcelのINDEX関数とMATCH関数の使い方|VLOOKUPより便利な検索方法 puedes visitar la categoría Sisutemuunyo.
