部分一致検索が簡単にできる!ExcelのSEARCH関数とIF関数の活用方法

Excelでデータを検索する際、部分一致検索が必要になることがあります。

「○○を含む/含まない」の検索です。

この記事では、ExcelのSEARCH関数IF関数IFERROR関数ISNUMBER関数を使って部分一致検索を行う方法をご紹介します。これらの関数を活用することで、データの検索や整理が効率的に行えるようになります。

1. 予備知識:SEARCH関数などの基本的な使い方

SEARCH関数は、ある文字列の中に指定した文字列が現れる位置を返す関数です。基本的な使い方は以下の通りです。

=SEARCH(検索文字列, 対象, [開始位置])

例えば、セルA1に「Excelは便利です」という文字列があり、その中で「便利」という文字列が現れる位置を求める場合は、以下のように書きます。

=SEARCH("便利", A1)

この場合、結果は7となります。検索されたら数値が返るのです。なお、開始位置を省略した場合は、検索対象文字列の先頭から検索が始まります。また、

=SEARCH("不便", A1)

のように、検索対象文字列が発見できない場合は結果が「#VALUE」となります。エラー時には空白を表示させるならば以下のような加工をしましょう(式をIFERROR関数で囲う)。

=IFERROR(SEARCH("不便", A1),"")

上記の処理がエラー回避は簡単ですが、他の方法もあるので紹介します。

=IF(ISNUMBER(SEARCH("不便", A1))=TRUE,SEARCH("不便", A1),"")
=IF(ISNUMBER(SEARCH("不便", A1)),SEARCH("不便", A1),"") ……「=TRUE」は省略可能

検索されたら数値が返ることを利用して、このような式でも処理可能です。ISNUMBER関数は引数内が数値である場合に「TRUE」を返します。数値でなければ「FALSE」を返します。この考え方を下記の節で応用します。

2. IF関数と組み合わせた部分一致検索の方法

SEARCH関数だけでは、検索対象文字列に指定した文字列が含まれているかどうかを判定できません。そこで、IF関数と組み合わせることで、部分一致検索を実現できます。例えば、以下のような式を使います。

=IF(ISNUMBER(SEARCH(検索対象文字列, 検索する文字列)), "含む", "含まない")

この式では、SEARCH関数の結果が数値(つまり、検索対象文字列に指定した文字列が含まれている場合)であれば「含む」、そうでなければ「含まない」と表示します。例えば、セルA1に「Excelは便利です」という文字列があり、セルB1に「便利」という文字列がある場合、以下のような式を使います(論理式の「=TRUE」は省略している)。

=IF(ISNUMBER(SEARCH(B1, A1)), "含む", "含まない")

この場合、結果は「含む」と表示されます。

真偽を逆にして「含まない」を主とした以下の式を使用しても同じ結果が返ります。

=IF(ISNUMBER(SEARCH(B1, A1))=FALSE, "含まない","含む")

3. 実用的な例

ここでは、部分一致検索を活用した実用的な例を2つご紹介します。

例1: 文字列のリストから特定のキーワードを含むデータを抽出

以下のようなデータがあるとします。

AB
Excelで便利な機能
Wordで文章作成
Excelでデータ分析
PowerPointでプレゼンテーション

セルA1:A4にある文字列の中から、「Excel」というキーワードが含まれているものだけを列Bに表示したい場合、以下のような式をB1セルに入力します。

=IF(ISNUMBER(SEARCH("Excel", A1)), A1, "")

その後、B1セルをB2:B4までコピーすると、以下のような結果が得られます。

AB
Excelで便利な機能Excelで便利な機能
Wordで文章作成
Excelでデータ分析Excelでデータ分析
PowerPointでプレゼンテーション

例2: 検索ワードを入力するセルを用意して部分一致検索

検索ワードを入力するセル(例: C1)を用意し、そのキーワードに基づいて部分一致検索を行う場合は、以下のような式を使います。

=IF(ISNUMBER(SEARCH(C$1, A1)), A1, "")

この場合、セルC1に検索ワードを入力すると、列Bに部分一致検索の結果が表示されます。

4. 最後に

ExcelのSEARCH関数IF関数IFERROR関数ISNUMBER関数を組み合わせることで、部分一致検索が簡単に実現できます。データの整理や検索作業が効率化されるため、仕事や学習において役立つこと間違いありません。今回紹介した方法や例を参考に、自分のニーズに合わせて活用してみてください。

また、部分一致検索以外にも、Excelにはさまざまな関数が用意されています。データ処理や分析をより効率的に行いたい場合は、他の関数も積極的に学習してみてください。関数を組み合わせることで、より複雑な処理も可能になりますので、Excelの機能を最大限活用しましょう。

コメント