「任意のキーワード」を含むセルを「部分一致」で 抽出 したいことはありませんか?
エクセルには標準で検索機能がありますが、それは 検索ワードが入力されている場所を指し示してくれるだけです。
そうではなく、検索ワードにヒットしたセル(行)だけ「抽出」(絞り込み)したいのではないでしょうか?(つまりトップ画像 ↑)
この記事を読んで、文字列の先頭だろうが 途中だろうが「部分一致」でキーワードをしっかり抽出しましょう。
部分一致で抽出する仕組みと手順
シートは2つに分ける
今回のサンプルでは2つのワークシートを使います。
ひとつは「検索シート」。
つまり、「検索ワードを入力するセル」と、「検索結果」を表示するシートです。
▲「検索」シート
そして、もうひとつは「データシート」です。
こちらは検索対象となるワークシートです。
▲「データ」シート
ポイント
表の左側に部分位置で検索する仕組みづくりのための列を 4列確保しておきます。
検索シートでの作業1
作業をしやすくするために「検索」シートのセルD1に「キーワード」という名前をつけておきます。
▲セルD1に「キーワード」とう名前を与える
※セルに名前をつける方法がわからない方は、過去記事をご確認ください。
さらに、セルD1に「神奈川」と入れておきます。(テスト用)
データシートでの作業
「データ」シートでの作業に移ります。
データシートの左側には4列の空白列が作ってあります。(A~D列)
部分一致:D列の数式
データシートの セルD2に数式を入力します。数式は;
つまり、E列からH列にかけて入力された値をすべてつなぐ数式です。
セルD2に数式を入力したら、その数式をセルD11までコピーします。
▲D列に数式が入った(わかりやすく列の幅をひろげています)
部分一致:C列の数式
つぎにC列です。
セルC2には以下の数式が入ります;
IF関数 と COUNTIF関数が使われています。
上の数式の意味は;
ってことです。
ポイント
数式中の「キーワード」の前後に "*"(アスタリスク)が入っているのは「ワイルドカード」と呼ばれるものです。つまり「キーワード(神奈川)の 前後の文字はなんでもOK」ということ。ここが、部分一致 のキモです。
(使い方を詳しく知りたい方は 過去記事 をご覧ください。)
セルD2の中にキーワード(=神奈川)が見つかったので、セルC2には「神奈川」と表示されました。
セルC2に数式を入力したら、その数式をセルC11までコピーします。
▲C列に数式が入り、キーワード「神奈川」を含む行にはキーワードが表示された
部分一致:B列の数式
つぎにB列です。
セルB2には以下の数式が入ります;
この数式は、C列に「神奈川」と表示されている数をカウントします。
数式中でセル範囲をしめす 「$C$2:C2」の前半(コロンの左側)だけが 絶対参照 になっているので注意しましょう。
数式をセルC11までコピーした状態が下の図です。
C列に2つ目の「神奈川」が見つかると、B列の数字は「2」に、3つ目の「神奈川」が見つかると「3」が表示されています。
部分一致:A列の数式
A列に数式を入れていきますが、これはカンタン。
B列の値とC列の値をつなげるだけです。
つまり、セルA2に入る数式は;
▲こんな感じ
この数式をセルA11までコピーすると下図になります。
データ範囲に名前をつける
最後にデータの入ったセル範囲に名前をつけます。
名前をつけるセル範囲は、セルA2からセルH11まで。「データベース」と命名します。
▲セルA2からH11まで(赤枠)を選択して「データベース」と名前をつける
※セルに名前をつける方法がわからない方は、過去記事をご確認ください。
検索シートでの作業2
ふたたび「検索」シートに戻って作業をします。
セルB4に数式を入力します。
セルB4に入る数式は;
「A列の数字」と「キーワード」の組み合わせ(=1神奈川)を データベース(「データ」シートのセルA2~H11)のA列から探させて、データベースの5列目(=E列)を表示させます。
※ IFERROR関数 はエラーを表示させないためだけに入れているだけです。
▲セルB4には「山田」と表示された
数式をセルE2までコピーすると、すべてのセルに「山田」が表示されるので、セルC4からE4の数式を少し編集します。
数式の中で修正するのは「5」の部分。ここをそれぞれ、C列なら「6」、D列なら「7」、E列なら「8」にします。
「5」の部分だけ変更する。
正しく修正されると下図のようになります。
▲1件目が 部分一致で抽出された!
セルB4からE4までの数式を13行目までコピーすると、キーワードを含む3件が抽出されます。
▲ 部分一致で複数の抽出に成功
テストを兼ねて、キーワードに「八戸」と入れてみると、、、
▲データベースに「八戸」を含む2件が 部分一致で抽出される
おまけで 最後の仕上げに、セルA2に「検索に〇件 HIT」と表示させるための数式を入れます。
入る数式は;
検索結果に表示された件数をピックアップします。
▲セルA2に検索結果の件数(部分一致の抽出件数)が表示されて完成!
この仕組みを作るのに使用された関数は;(登場順)
IF関数
COUNTIF関数
IFERROR関数
VLOOKUP関数
COUNTA関数
COUNTBLANK関数
でした。最後の2つはおまけですけど。
関連記事とのリンクも張っておきましたので、興味のある方はそちらもご覧ください。
以上で『エクセルで「部分一致」で抽出する方法』は終了。
その他の関連記事と合わせて仕事や趣味に役立ててください。
関連記事・広告