MATCH関数を複数条件にする方法|andとor|エラーの原因

ここでは、「MATCH関数を複数条件にする方法」を解説します。

 

「条件全てに一致」のAND条件と、「条件のどれかに一致」のOR条件の両方のやり方を確認します。

 

また、複数条件でエラーになる原因にも触れます。

1.複数条件をANDで指定する方法

まずは、MATCH関数で「複数条件をANDで指定する方法」から見てみます。

 

1-1.数式の形

数式の形は、次のようになります。

{=MATCH(検査値1&検査値2…,検査範囲1&検査範囲2…,0)}

ポイントは、次の通りです。

ポイント
  • 「検査値」と「検査範囲」をそれぞれ「&」でつなぐ
  • 「&」でつなぐ順番は揃える
  • 「{ }」は手入力ではなく一定の操作で付ける

「『&』でつなぐ」とは、「検査値」は条件を、「検査範囲」は検索する範囲を「&」を挟んで指定することです。

 

この時、つなぐ順番は合わせるようにしてください。例えば、検査値が「日付」→「商品名」の順であれば、検査範囲も「日付の範囲」→「商品名の範囲」となります。

 

そして、「{ }」は「配列数式」であることを意味しますが、手入力ではなく一定の操作で付けます。付け方は、この後説明します。

 

1-2.数式を作ってみる

例の表をもとに、数式を作ってみます。

例に使うのは、上の「商品販売実績」です。

 

この表の「セルA3~C7」の範囲で、「販売日が4月2日」、「商品名がタオル」に該当するデータがどこにあるかを求めます。

 

以下、手順です。

 

(1)以下の数式をコピーし、セルに貼り付ける

【コピーする数式】

=MATCH(検査値1&検査値2…,検査範囲1&検査範囲2…,0)

 

(2)「検査値1&検査値2…」の文字を消し、条件値を「&」で繋いで入れる

 

(3)「検査範囲1&検査範囲2…」の文字を消し、検索する範囲を「&」で繋いで入れる

 

(4)「Ctrlキー」と「Shiftキー」を押しながらEnterキーを押せば完了

結果、数式は次の通りです。

{=MATCH(E4&F4,A3:A7&C3:C7,0)}

 

これで、MATCH関数が「ANDの複数条件」になります。

2.複数条件をORで指定する方法

次に、MATCH関数で「複数条件をORで指定する方法」を見てみます。

 

2-1.数式の形

数式の形は、次のようになります。

=MATCH(IF(COUNTIF(検査範囲,検査値1)>0,検査値1,検査値2),検査範囲,0)

ポイントは、次の通りです。

ポイント
  • 「IF関数」と「COUNTIF関数」を組み合わせる
  • 「検査値1」の方が優先される
  • 同じ検査範囲でのOR条件
  • 複数該当の場合には「一番上」の場所が返ってくる

OR条件にするにはIF関数とCOUNTIF関数を組み合わせて、「検査値1」が1つでも検査範囲にあれば検査値1、なければ検査値2、という形にします。

 

そのため、検査値2よりも検査値1の方が優先されます。

 

なお、この数式は「検査範囲が同じ」のが前提です。また、複数該当がある場合には「一番上」の場所が返ってきます。

 

2-2.数式を作ってみる

例の表をもとに、数式を作ってみます。

例に使うのは、先ほどの「商品販売実績」です。

 

この表の販売先の中で、「CB」、または「C社」に該当するデータがどこにあるかを求めます。

 

以下、手順です。

 

(1)以下の数式をコピーし、セルに貼り付ける

【コピーする数式】

=MATCH(IF(COUNTIF(検査範囲,検査値1)>0,検査値1,検査値2),検査範囲,0)

 

(2)「検査値1」と「検査値2」の文字を消し、条件値を入れる

 

(3)「検査範囲」の文字を消し、検索する範囲を入れる

 

(4)Enterキーを押せば完了

結果、数式は次の通りです。

=MATCH(IF(COUNTIF(B3:B7,E4)>0,E4,F4),B3:B7,0)

 

これで、MATCH関数が「ORの複数条件」になります。

3.複数条件のANDで#VALUE!エラーになる原因は

最後に、MATCH関数を複数条件のANDにした時「#VALUE!エラー」になる原因を確認します。

 

3-1.原因は「配列数式になってない」から

一番多いのは、「配列数式になっていない」からです。

配列数式には、数式入力後「Ctrlキー」と「Shiftキー」を押しながら「Enterキー」を押します。

 

一方で、ただEnterキーだけを押してしまうと配列数式になりません。

 

結果、#VALUE!エラーになります。

 

 

3-2.数式に「{ }」が付いているか確認する

配列数式になっているかは、「数式に『{ }』が付いているか?」で確認することができます。

これで一目で判断することができます。

 

以上、参考になれば幸いです。

 


口コミ・評判のいいExcel本の紹介】


MATCH関数に関連したページは、次の通りです。

  • MATCH関数 使いこなすためのポイントはこちら
Top