複数の部分一致の条件を指定するには、条件式が条件ごとに必要になりますが、Excel2021/365なら、FILTER関数の引数[含む]にMMULT関数を組み合わせて数式を作成することで、スピーディーに抽出できます。
FILTER 関数の基本(書き方・いろいろな条件・並べ替え・#CALC! の直し方)は、FILTER関数の使い方にまとめています。
日付/部分一致抽出
FILTER関数、MMULT関数、IFERROR関数、FIND関数、TRANSPOSE関数、ROW関数

まず動かしてみよう|この記事のサンプルをその場で試せます
練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。
例題1|複数の都道府県のどれかを含む会員を、FILTERとMMULTで抽出する
手順:A7 に FILTER と MMULT の式を入れて Enter

- データを求めるセル(A7セル)を選択し、「=FILTER(」と入力する。
- [配列]…抽出する表のセル範囲を選択する。
- [含む]…「MMULT(」と入力する。
- [配列1]…IFERROR関数で行の配列に入れ替えたA3セル~A4セルの都道府県を含む住所が表の「住所」にある場合にその位置を返し、ない場合は「0」を返す数式を入力する。
- [配列2]…ROW関数で列の配列を入力する。
- FILTER関数の[空の場合]…省略して、「Enter」キーで数式を確定する。
A7 に次の式を入力して、Enter キーを押します❶。
=FILTER(A11:C13,MMULT(IFERROR(FIND(TRANSPOSE(A3:A4),B11:B13),0),ROW(A3:A4))) A11:C13A3:A4オレンジの条件の範囲を広げれば、3つ以上の県でも同じ式で探せます。
- Microsoft 365 と Excel 2021 以降で使えます。

確認:埼玉県と千葉県の会員が2人取り出された

答えは 2人(埼玉県・千葉県の会員) になりました❷。式は、次の順に計算しています。
- 各県を住所から FIND で探す
⇒ 見つかれば位置、なければ 0 - MMULT で県ごとの結果を足す
⇒ 0 より大きい行が対象 - FILTER で取り出す
⇒ A7 から2行
FILTER関数、MMULT関数、IFERROR関数、FIND関数、TRANSPOSE関数、ROW関数
数式の解説
「IFERROR(FIND(TRANSPOSE(A3:A4),B11:B13),0)」の数式は、TRANSPOSE関数で行の配列に入れ替えたA3セル~A4セルの都道府県を含む住所が表の「住所」にある場合にその位置を返し、ない場合は「0」を返す。
MMULT関数の引数[配列1]に組み合わせ、[配列2]に列の配列の「ROW(A3:A4)」を組み合わせることで、行列の積が返され、FILTER関数の引数[含む]にA3セル~A4セルの都道府県を条件として指定することができる。
Excelデータダウンロード
特定の文字を含む行を抽出する方法の全体像(フィルター機能・関数・マクロ)は、こちらの記事で解説しています。


コメント