エクセル|でマッチ関数を使う方法検索値範囲内の相対位置を返す

エクセル|でマッチ関数を使う方法検索値範囲内の相対位置を返す

MATCH関数とは何ですか?

MATCH 関数は、列番号または行番号で指定した範囲内で検索する数値または文字列を返します。

MATCH 関数を使用すると、検索するテーブルの行数と列数を確認できます。

MATCH 関数の形式

まず、MATCH関数のフォーマットを確認してみましょう。

MATCH 関数は、指定された一致タイプに従って検査範囲を検索し、検索値に一致する配列内のエレメントの相対位置を表す数値を返します。

形式は “=MATCH(検索値、検索範囲、 [照合の種類]) MATCH 関数は、最大 3 つの引数を使用します。

※引数(ひきす)は、Excelの関数を利用する際に必要な情報です。結果を返すための意思決定材料としての関数を想像してみましょう。関数名の後に括弧 “() を付けて入力します。

このページを閲覧している方におすすめの商品

最初の引数 (検索値)

一致関数検索値

最初の引数は「検索値」です。この引数は必須です。検索する値またはセル参照。文字列などの値を指定する場合は、「文字列」のように二重引用符で囲みます。

検索値は、2番目の引数「検索範囲」から検索されます。

一致する 3 番目の引数が “0" の場合、チェック値は疑問符 (?) とアスタリスク (*) などのワイルドカード文字です。

2 番目の引数 (検索範囲)

一致関数検索範囲

2 番目の引数は “検索範囲" です。この引数は必須です。検索するセルの範囲を指定します。

3 番目の引数 (一致する型)

一致関数マッチング型

3 番目の引数は “照合順序の種類" です。この引数はオプションです。検索範囲から検査値を検索する方法として「-1」、「0」、「1」のいずれかを指定するか、省略した場合は「1」を指定します。

一致するタイプ 検索値を見つける方法
1 検査値より下の最大値を見つけます。2 番目の引数 “検索範囲" は昇順で並べ替える必要があります。
0 検査値と完全に一致する最初の値を見つけます。
-1 検査値より上の最小値を見つけます。2 番目の引数 “search range" は降順に並べ替える必要があります。

マッチ関数の使い方(練習)

実際に MATCH 関数を使用する例を次に示します。引数の使い方を見てみましょう。

作業時間:7分

テーブルを準備する

まず、上記の表を準備しましょう。ケーキが何列のケーキの上にあり、何行の売り上げがあるかを調べたいとしましょう。

マッチ機能を入力

マッチ機能を入力

まず、G2 セルを選択し、セルに直接「=MATCH(」と入力します。

検索値の指定

検索値の指定

検索値として F2 セルを選択します。"=MATCH(F2,"" が G2 セルに入力されました。

検索範囲を指定する

検索範囲を指定する

A2 セルから A6 セルまでの範囲をまとめて選択します。"=MATCH(F2,A2:A6,"' が G2 セルに入力されました。

一致するタイプを指定する

一致するタイプを指定する

マッチングの種類として、ここで完全一致の「0」を指定し、G2セルに「=MATCH (F2,A2:A6,0)」と入力して、[Enter].

マッチ関数の結果

マッチ関数の結果

検索値 (cake) の位置が “3" 行に表示され、G2 セルが指定した範囲 (A2:A6) に表示されました。

マッチ機能を入力

以上のように、「売上数」の位置を探してみましょう。G3 セルに「=MATCH (F3, B1: C1, 0)」と入力し、入る押す。

マッチ関数の結果

検索値の場所(売上数)が「2」列に表示され、G3セルが指定した範囲(B1:C1)に表示されました。

MATCH機能の応用

ワイルドカードであいまいに検索する方法

一致関数は、あいまいに検索することもできます。ワイルドカードを使用すると、前方、部分的、後方、およびその他の一致を検索できます。

幅広い一致検索

部分一致を検索するには、検索する文字列の前後に “*" を追加します。

ワイルドカードによる部分一致

上の図では、列 A から “Co" を含むセルの位置を見てみましょう。G4 セルを選択し、=MATCH (“*co*", A2:A6, 0) と入力します。

ほら文字列を含むパターンの場合、文字列の前後に “*" (アスタリスク) を付けます。

ワイルドカードによる部分一致

列Aに「co」が含まれていたのは4行目の「チョコレート」でした。正しい位置が G4 セルに表示されます。

前方一致検索

検索する文字列に「*」を追加することで、前方一致で検索できます。

ワイルドカードによるフォワードマッチ

上の図では、列 A から “Ku" で始まるセルの位置を見てみましょう。G5 セルを選択し、=MATCH (“Ku*", A2:A6, 0) と入力します。

文字列の後に「*」(アスタリスク)を入れて、文字列の先頭が「ku」になっているパターンを探します。

ワイルドカードによるフォワードマッチ

A列の「ku」で始まる「クッキー」の2行目でした。正しい位置が G5 セルに表示されます。

後方一致検索

検索する文字列の前に「*」を追加することで、後方一致で検索できます。

ワイルドカードによる後方一致

上の図では、列 A から “Ro" で終わるセルの位置を見てみましょう。G6 セルを選択し、=MATCH (“*ro", A2:A6, 0) と入力します。

文字列の前に「*」(アスタリスク)を入れて、文字列の末尾が「Ro」になっているパターンを探します。

ワイルドカードによる後方一致

A欄の「Ro」で終わるのは5行目の「マシュマロ」でした。正しい位置が G6 セルに表示されます。

任意の文字を検索する

「?」 ??? を使用して任意の 1 文字を検索できます。任意の 3 文字を検索できます。

ワイルドカードを使用して任意の数の文字を検索する

上の図では、列 A から “Ma" で始まる 4 文字のセルの位置を見てみましょう。G7 セルを選択し、=MATCH (“???,A2:A6,0")と入力します。

文字列の後に “?"文字列の先頭が “Ma" で、任意の 3 文字が “あるパターンを見つける。

ワイルドカードを使用して任意の数の文字を検索する

列 A の “Ma" で始まる 4 文字のセルは、最初の行の “macaroon" でした。正しい位置が G7 セルに表示されます。

複数の条件で検索する方法

MATCH 関数を使用して、複数の検索値に適合する場所を検索する方法について説明します。

テーブルを準備する

上記のようなテーブルを使用します。この目的のために、F2 セルと G2 セルで条件 1 と 2 の両方を満たす行の数を調べたいとします。

マッチ機能を入力

まず、H2 セルを選択し、セルに直接「=MATCH(」と入力します。

検索値の指定

検索値として F2 セルと G2 セルを選択します。H2 セルに “=MATCH(" の後に F2&g2″ と入力します。

私は “&"を使って2つのセルを結合しています。

検索範囲を指定する

A2 セルから A6 セル、および B2 セルから B6 セルの範囲を選択します。H2 セルに「=MATCH (F2&g2,"」) と入力し、その後に「A2:A6&B2:B6」と入力します。

私は “&"を使って2つのセル範囲を結合しています。

一致するタイプを指定する

マッチングの種類として、ここで完全一致の “0" を指定し、"=MATCH (F2&G2, A2: A6 & B2:B6,", に続く H2 セルに “0) と入力します。入る押す。

複数の条件から検索

複数の検索値 (条件 1 と 2) で複数の範囲 (A2:A6 と B2:B6) に一致する場所が “2" 行と H2 セルに表示されました。

MATCH 関数と INDEX 関数を組み合わせる

MATCH関数とINDEX関数を組み合わせてデータを抽出する方法を紹介します。マッチ関数はINDEX関数と組み合わされることが多いので、その方法を学びましょう。

Excel の INDEX 関数と MATCH 関数を組み合わせて使用する方法

#N/A エラーが発生した場合の対処方法

MATCH 関数を使用すると、「#N/A (割り当てなし)」エラーまたは意図しない結果が生じる可能性があります。"#N/A" Ellafunction 形式が異なる場合や、引数が正しく使用されていないことがよくあります。

MATCH関数の「#N/A」エラーの主な例を示しながら、その対処方法を説明しましょう。

検索値が検索範囲にない場合

MATCH 関数は、検索範囲から検索値を検索します。検索値が検索範囲内にない場合は、#N/A エラーが表示されます。

検索値が検索範囲に含まれていません

たとえば、上の表で、左側の表のケーキを含む行の位置をG2セルに表示するとします。

検索範囲が「B2:B6」で、「#N/A」というエラーが表示されました。「ケーキ」は指定された検索範囲に含まれていません。

検索範囲の設定

上の図には cor があります検索範囲に含めるように検索値を修正しました。今回は、検索範囲として「A2:A6」を用いることで、検索値も適切に含まれています。

完全一致を指定しましたが、見つかりません

MATCH関数では、3番目の引数の「一致型」に「0」を指定すると完全一致が検索され、完全一致がなければ「#N/A」エラーが表示されます。

完全に一致しない

たとえば、上の表で、左側の表のゼリーを含む行の位置をG2セルに表示したいとします。

検索範囲に検索値がないため、「#N/A」エラーが表示されます。検索範囲に存在するものが検索値であるとします。

検索値を参照する列は昇順でソートされません。

MATCH 関数が 3 番目の引数 “Matching Type" に “1" を指定する場合、検索値を参照する列は昇順でソートする必要があります。検索値を参照する列が昇順でない場合、結果が正しくない可能性があります。

昇順でソートされていない

たとえば、上の表で、G4 セルの左側の表から近似値が 320 の行の位置を表示するとします。

上の画像では、C列が昇順でソートされていないため、「#N/A」エラーが表示されていました。

昇順でソートする場合

C 列を昇順に並べ替えることで、正しい結果を得ることができます。

エクセルのアドレス関数の使い方は|セル参照の文字列を検索する

エクセルのSELECT機能の使い方は|インデックス対応の値を取得する

エクセルのCOLUMN関数の使い方|指定したセルの列番号を見つけます

エクセル|でフィルタ関数を使用する方法必要なデータを抽出します

Excel の GETPIVOTDATA 関数の使い方 |ピボットテーブルデータ取得

エクセルでHLOOKUP関数を使用する方法|指定した行と同じ列の値を返します

Excel |でハイパーリンク関数を使用する方法ハイパーリンクを作成する

エクセルのINDEX関数の使い方は|行と列が交差するセルを返す

エクセルの間接関数の使い方は|セルやその他のシートを参照します

エクセルのルックアップ機能の使い方 |単一行または列の範囲から検索する

指定した位置にあるセルの範囲を参照|エクセルでオフセット関数を使用する方法

エクセルのROW関数の使い方は|セルの行番号を見つけます

Excel で ROWS 関数を使用する方法|参照、または配列内の行数を返す

エクセルのXLOOKUP関数の使い方|肖像画と風景の両方を見つける

エクセルのXMATCH関数の使い方は|範囲を検索し、相対位置を返します