MATCH関数の使い方
範囲内で指定した値の位置(順位)を返します。
200720102013201620192021365
- 構文
-
=MATCH(検査値, 検査範囲, [照合の種類]) - 引数
-
- 検査値必須
- 検査範囲必須
- 照合の種類省略できる
- どんな関数か
MATCH は、探している値が範囲の何番目にあるかを返します。値そのものではなく位置を返すので、
INDEXと組み合わせて使うのが定番です。いちばんの落とし穴は3つめで、省くと「近い値」(1)になります。並べ替えていない範囲では、エラーも出ずに間違った位置を返すので、完全一致なら必ず0を書きます。表の見出しから列の位置を探すのにもよく使います。Excel 2021 以降なら、既定が完全一致のXMATCHのほうが安全です。- 使用例
-
B2 に
=MATCH("東京", A1:A4, 0)を入れると、こうなります。A B 1 エリア 位置 2 大阪 3 3 東京 4 名古屋 数式を入れたセル数式が見に行った値
結果: 3(上から3番目)
つまずきやすいところ
- 3つめを省略すると 1(近い値) になる。ふつうは
0(完全一致)を書く 0で探すときは、並べ替えは要らない- 返るのは「値」ではなく何番目か。値を取り出すには INDEX と組み合わせる
よくあるエラーと、その直し方
#N/A- 検索値が見つからない3つめが 0 になっているか確かめる。余分な空白は TRIM で取る
似ている関数との違い
MATCHを使う実例レシピ(6件)
- VLOOKUPではできない「左側検索」の定番商品名から商品IDを逆引きする(VLOOKUPが不向きな構成の時)。
- 画像付きの検索システム(商品検索パネル)を作るIDを入力すると、商品名だけでなく「写真」も切り替わる仕組み。
- 条件に合うセルの「番地(A1など)」を知りたい最大値がどのセルにあるのか、座標をテキストで表示させたい。
- 配送先(都道府県)と重量から運賃を自動で引く毎回料金表を見るのではなく、サイズと行先を入れたら送料が出るようにしたい。
- 棚卸し漏れを「チェックなし」リストで抽出全商品リストと、実際に棚卸しでスキャンしたリストを突き合わせて、未確認分を特定。
- ドロップダウンで「部署名」を選ぶと「地図」が切り替わるダッシュボードの一部として、選択肢に連動したビジュアルをリッチに見せたい。