lisz-works

プログラミングと興味を貴方に

Excel 特定の文字を含むものだけ検出する方法

【スポンサーリンク】

Excel ロゴ

Excelで作ったリストから、特定の文字を含むものを検出する方法です。

この方法を使えば

「この文字が入っているところをハイライト」

とかできます!

表示イメージ

例えばこんな感じ。

サンプル

リスト上から「TBD」を含むものを、黄色でハイライトしています。

ちなみに例では前後に文字が入っていても、「TBD」を含んでいれば検出されますが

  • 含むとき
  • 前方一致
  • 後方一致
  • 完全一致

は、条件の設定次第で変更できます。

やりかた

このようなリストがあるとします。

対象リスト

この時、隣の列などに検索用の列を用意します。

そこに

=COUNTIF($B3,"*TBD*")

をセットします。

式のセット

すると、データが"TBD"に一致するものは「1」、そうでないものは「0」となります。

コレを条件付き書式で色を付けてあげると……

書式を適用

このように「TBD」を含むセルのみハイライトされます!

データが入っているか?検出する一覧

このように、「データ列の値をサーチし、ある値が入っているか?」をリスト化することもできます。

データ検出リスト

この場合

=COUNTIF($B3,"*"&C$2&"*")

という式をC3セルに入力し、C3~D17に展開しています。

検索条件を「C$2」で見る事で、C2,D2のタイトル部分が検索対象となります。

なので「これと一致しているデータか?」を表すリストを作ることができます。

使用している関数(式)について

今回使用している、「COUNTIF」関数は、次のように記述します。

=COUNTIF(検索対象のセル, 検索条件文字列)

検索条件文字列を、検索対象のセルからサーチし、ヒットした数を出力する関数です。

「検索対象のセル」は、1セルから複数セルまで選択が可能です。

なので今回の場合、リストの1データずつ検索してあげることで

「このセルは、この検索条件とマッチするか?」

を判定してもらうことができます。

なので

  • ヒットした場合:1
  • しなかった場合:0

ということになるわけですね。

条件の設定

前述の例では、「含むとき」でしたが、それぞれの条件設定方法はコチラ。

それぞれを参考に、検索条件文字列にセットすればOKです。

含むとき

"*<文字列>*"

前方一致

"*<文字列>"

後方一致

"<文字列>*"

完全一致

"<文字列>"

弱点

この処理の弱点は、

完全一致での検索以外は、関係ないデータを検出してしまう場合がある

ということです。

例えば「○○ ID」のように、「何かのID」という名称を検索したい!

と思っている中で「ANDROID」のような文字列がリスト内にあれば、検出してしまいます。

その辺は作り込むときに、うまいこと考えてあげないといけないポイントですね。

あとがき

コレを使えば、リスト化したデータから、一定の条件に一致するものを検出することができます。

そもそもCOUNT系の関数は、数を数えることが目的ですよね。

でもこういう風に視点を変えて使って見ると、色々な使い方ができますね……

普段考え付かないだけで、思わぬ関数が思わぬ効果を発揮するかもしれませんね(笑)

プログラミングができる方は、PythonでExcelを操作したりもオススメです!

www.lisz-works.com