Googleスプレッドシートで使うことができる『MATCH関数』は、データベースのなかから、指定した文字列が何番目にあるかを返す関数です。
なおこの記事は、『MATCH関数』単体の説明になります。データ抽出でよく用いられる『INDEX関数』との併用方法の説明・解説記事はこちらからどうぞ。

この記事は、Googleスプレッドシートベースで解説記事を作成してますが、エクセルでも同様に使用することができる関数です。
こんにちは。当ブログの管理人のくろんです。
30代サラリーマン、新規事業推進室に所属。仕事で身につけた業務効率化ノウハウをアウトプットしていきます。読んでくれた方の業務が一秒でも早く終わりますように!!
MATCH関数とは
MATCH関数は、範囲のなかから、同じ文字列の情報が何番目にあるかを返してくれる関数です。
MATCH関数の構文
MATCH(検索キー, 範囲, 検索の種類)
項目 | 内容 |
検索キー | 検索したい値 |
範囲 | 検索対象となるデータ範囲です。一行、もしくは一列しか指定できません。 |
検索の種類 | 【省略可】検索の方法 1を指定すると、検索した値以下の最も大きい値を検索します。 0を指定すると、完全一致の場合しか返しません。文字列の検索では、ほぼ0を使います。 -1 を指定すると、検索した値以上の最も小さい値を検索します。 ※省略した場合は、『1』と指定したときと同じになります。 |
実際にMATCH関数を使ってみた

=match(A9,A2:A6,0)
B9セルは、『A2セルからA6セル』のうち、『事業所D』という文字列に完全一致するセルは何番目か?というMATCH関数の結果が返ってきてます。『4』という値が返ってきているのが分かります。
=match(A10,B1:H1,0)
B10セルは、『B1セルからH1セル』のうち、『2023/06/14』という文字列に完全一致するセルは何番目か?というMATCH関数の結果が返ってきてます。『3』という値が返ってきているのが分かります。
このように、『MATCH関数』は、データ領域において、検索する値が何番目にあるかを返してくれる関数です。
これだけだとやはり使い道が見えにくいですね笑
やはり、MATCH関数は単体で使うのは珍しく(というかほぼない)、INDEX関数など他の関数と絡ませてつくことが多いです。

MATCH関数に関わる色々なエラー

MATCH関数のエラーをいくつか紹介します。
1つ目は、データの参照範囲を単一行ないし単一列ではなく、複数に渡って設定してしまった場合、問答無用で、『#N/A』エラーとなります。
2つ目は、データの参照範囲にない文字列を完全一致モードで指定してしまった場合。こちらも、『#N/A』エラーとなります。
MATCH関数のまとめ
『MATCH関数』は、範囲(一行もしくは一列)の中から指定の値が何番目にあるかを返してくれる関数です。
単体で使うことは稀で、『INDEX関数』と併用するなどして、データの抽出に用いられます。