Excelで複数キーワードのどれかを含むデータを抽出する方法|FILTER・MMULT

Excelで複数キーワードのどれかを含むデータを抽出する方法|FILTER・MMULT

複数の部分一致の条件を指定するには、条件式が条件ごとに必要になりますが、Excel2021/365なら、FILTER関数の引数[含む]にMMULT関数を組み合わせて数式を作成することで、スピーディーに抽出できます。

FILTER 関数の基本(書き方・いろいろな条件・並べ替え・#CALC! の直し方)は、FILTER関数の使い方にまとめています。

目的

日付/部分一致抽出

使用する関数

FILTER関数、MMULT関数、IFERROR関数、FIND関数、TRANSPOSE関数、ROW関数

目次

まず動かしてみよう|この記事のサンプルをその場で試せます

練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。

例題1|複数の都道府県のどれかを含む会員を、FILTERとMMULTで抽出する

手順:A7 に FILTER と MMULT の式を入れて Enter

  1. データを求めるセル(A7セル)を選択し、「=FILTER(」と入力する。
  2. [配列]…抽出する表のセル範囲を選択する。
  3. [含む]…「MMULT(」と入力する。
  4. [配列1]…IFERROR関数で行の配列に入れ替えたA3セル~A4セルの都道府県を含む住所が表の「住所」にある場合にその位置を返し、ない場合は「0」を返す数式を入力する。
  5. [配列2]…ROW関数で列の配列を入力する。
  6. FILTER関数の[空の場合]…省略して、「Enter」キーで数式を確定する。

A7 に次の式を入力して、Enter キーを押します❶。

A7 に入れる式
=FILTER(A11:C13,MMULT(IFERROR(FIND(TRANSPOSE(A3:A4),B11:B13),0),ROW(A3:A4)))
A11:C13 配列(会員の表)A3:A4 探す文字(都道府県)
ひとことで会員の表から、住所に埼玉県か千葉県のどれかを含む行だけを取り出す
式を分けて読むと(色は画像の枠と同じ)
配列A11:C13
どこから取り出す?
→ 会員の表
探す文字A3:A4
どの県を含む?
→ 埼玉県・千葉県
自分の表で使うときは
オレンジの条件の範囲を広げれば、3つ以上の県でも同じ式で探せます。
  • Microsoft 365 と Excel 2021 以降で使えます。
エクセルのFILTER関数とMMULT関数で複数の都道府県のどれかを含む会員を取り出す式と、会員の表と条件を色分けした画面
エクセルのFILTER関数とMMULT関数で複数の都道府県のどれかを含む会員を取り出す式と、会員の表と条件を色分けした画面

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

エクセルのFILTER関数とMMULT関数で埼玉県と千葉県の会員2人がA7から取り出されたことを示した画面
エクセルのFILTER関数とMMULT関数で埼玉県と千葉県の会員2人がA7から取り出されたことを示した画面

答えは 2人(埼玉県・千葉県の会員) になりました❷。式は、次の順に計算しています。

  1. 各県を住所から FIND で探す
    ⇒ 見つかれば位置、なければ 0
  2. MMULT で県ごとの結果を足す
    ⇒ 0 より大きい行が対象
  3. FILTER で取り出す
    ⇒ A7 から2行
使用するExcel関数

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データダウンロード

練習用Excelファイル(無料ダウンロード)
この記事の解説で使うExcelデータです。数式と練習データが入っているので、本文の式を同じ表で試せます。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

特定の文字を含む行を抽出する方法の全体像(フィルター機能・関数・マクロ)は、こちらの記事で解説しています。

ヒント:条件が空だと全員
条件のセルが空だとすべての行が残ります。条件を入れてから使います。
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次