MATCH関数:指定の範囲を検索し範囲内での相対位置を取得する

広告

MATCH 関数は Excel で用意されている関数の一つで、引数に指定した項目の値を範囲内で検索し、範囲内での相対的な位置を取得します。ここでは Excel における MATCH 関数の使い方について解説します。

(2021 年 10 月 03 日公開 / 2021 年 10 月 03 日更新)

MATCH関数の使い方

MATCH 関数は引数に指定した項目の値を範囲内で検索し、範囲内での相対的な位置を取得します。

MATCH(検査値,検査範囲,照合の種類)

1 番目の引数に検索値を指定します。 2 番目の引数で検索値を検索するセル範囲を指定します。検査範囲は B2:B6 のように同じ行内の範囲を指定することもできますし、 B2:E2 のように同じ列内の範囲を指定することもできます。

MATCH関数のサンプル(1)

戻り値は範囲内での相対的な位置を返します。範囲内の先頭のセルが 1 、次のセルが 2 のように位置が割り当てられており、範囲内で検査値が見つかった場合は位置として数値を返します。

MATCH関数のサンプル(2)

例えば検査値として "A-03" を入力し、検査範囲として B3:B7 を指定した場合、戻り値として 3 を取得します。

MATCH関数のサンプル(3)

照合の種類

3 番目の引数は省略可能な引数で照合の種類を指定します。指定可能な値については次の通りです。

照合の種類説明
0ワイルドカードを一致を行います。見つからない場合は #N/A
1完全一致。見つからない場合は、検索値よりも小さな値の中で最大の項目を一致したものとみなす
-1完全一致。見つからない場合は、検索値よりも大きな値の中で最小の項目を一致したものとみなす

一致モードで 1 を指定すると、検索値が見つからなかった場合に検索値よりも小さくて最大の値を一致したものとみなすため、検索値として "A-04" を指定すると "A-03" の項目が一致したものとみなされます。 1 を指定する場合は検査範囲の値が昇順で並べられている必要があります。一致モードを省略した場合は 1 が指定されたものとみなされます。

MATCH関数のサンプル(4)

一致モードで -1 を指定すると、検索値が見つからなかった場合に検索値よりも大きく最小の値を一致したものとみなすため、検索値として "A-04" を指定すると "B-01" の項目が一致したものとみなされます。 -1 を指定する場合は検査範囲の値が降順で並べられている必要があります。

MATCH関数のサンプル(5)

一致モードで 0 を指定した場合、検索値が見つからなかった場合は #N/A を返します。

MATCH関数のサンプル(6)

また一致モードで 0 を指定した場合は完全一致ではなくワイルドカードを使った検索が可能です。使用可能なワイルドカードは次の 3 つです。

ワイルドカード説明
?任意の一文字
*任意の数の文字
~文字として?や*や~を使用したい場合に~?のように直前に記述する

下記では一致モードに 0 を指定した上で、検索値としてワイルドカードを使って "A*3" と指定しています。この場合 "A" で始まり任意の文字が任意の個数続いたあとで最後に "3" で終わる値と一致します。

MATCH関数のサンプル(7)

MATCH関数のサンプル

それでは実際に MATCH 関数を使ってみます。 Excel のシートに対象の数値を次のように入力しました。

MATCH関数のサンプル(1)

取得した位置を表す番号を表示する C10 セルを選択し、次のように入力しました。

=MATCH(B10,B3:B7,1)

MATCH関数のサンプル(2)

Enter キーを押すと、 C10 セルには次のように表示されます。検索値を入力する B10 セルに値が何も入っていないためです。

MATCH関数のサンプル(3)

それでは B10 セルに "B-01" と入力します。

MATCH関数のサンプル(4)

Enter キーを押すと、 C10 セルには次のように表示されます。

MATCH関数のサンプル(5)

関数の挿入を使ってMATCH関数を入力する

MATCH 関数を入力する場合に関数の挿入を使って行う方法を試してみます。関数を挿入するセルをクリックして選択したあとで、関数の挿入をクリックします。

関数の挿入を使ってMATCH関数を入力する(1)

「関数の挿入」ダイアログが表示されたら関数名のところで「MATCH」をクリックしてください。そのあとで「OK」をクリックしてください。

関数の挿入を使ってMATCH関数を入力する(2)

「関数の引数」ダイアログが表示されたら、 1 番目の引数に検索値を入力するセルを指定します。 1 番目の引数を入力するテキストボックスをクリックして選択してから引数に入力するセルを Excel 上でクリックして下さい。

関数の挿入を使ってMATCH関数を入力する(3)

関数の挿入を使ってMATCH関数を入力する(4)

ダイアログの 1 番目の引数のところに先ほどクリックしたセルが表示されます。

関数の挿入を使ってMATCH関数を入力する(5)

続いて 2 番目の引数に検査範囲となる配列またはセル範囲を指定します。 2 番目の引数を入力するテキストボックスをクリックして選択してから引数に入力するセル範囲を Excel 上で選択して下さい。

関数の挿入を使ってMATCH関数を入力する(6)

関数の挿入を使ってMATCH関数を入力する(7)

ダイアログの 2 番目の引数のところに先ほどクリックしたセル範囲が表示されます。

関数の挿入を使ってMATCH関数を入力する(8)

続いて 3 番目の引数に照合の種類を表す数値が入力されたセルを指定します。今回は直接 0 を入力しました。

関数の挿入を使ってMATCH関数を入力する(9)

引数の指定が終わると結果としてセルに表示される値も表示されます。最後に「OK」をクリックしてください。

関数の挿入を使ってMATCH関数を入力する(10)

最初に選択したセルに MATCH 関数が入力され、対象のセルの列番号を取得した値がセルに表示されます。

関数の挿入を使ってMATCH関数を入力する(11)

-- --

Excel における MATCH 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。