[Excel] セルにある文字列が含まれるかを判定する方法

エクセルで解析をしようとすると、セルにある文字列が含まれているかを調べたいことがあると思います。
「abcdefg」に「cdf」は含まれるか?みたいな感じですね!

3つの要素を組み合わせ!

excelfind
今回は、上記の画像みたいに、A列の対象文字列にB列の検索文字列が存在しているかをC列に○×で記載するっていう話です。
これをやるには以下の3つの関数を使うみたいです!

FIND関数

=FIND(検索文字列,対象文字列)

これで検索文字列中で、対象文字列が始まる最初の文字の位置を返してくれます。
例えば、「abcdefghijk」を対象文字列として、「efg」とすると、「e」の位置である「5」が返ってきます。
でも、見つからないとエラー(#VALUE!)になります。

IF関数

IF(FIND(検索文字列,対象文字列),"○","×")

説明するまでもない感じですが、IFを使います。TRUEの場合を○にして、FALSEの場合を×にするってかんじですね。
ただ、これだと問題があって、対象文字列が見つからない時に、前述のとおりエラーになります。別にエラーでほっといてもいいんですが、これだとカッコ悪い&バツが出てこないので、ISERRORを使います。

ISERROR関数

IF(ISERROR(FIND(検索文字列,対象文字列))=FALSE,"○","×")
または
IF(ISERROR(FIND(検索文字列,対象文字列)),"×","○")

仕上げにISERROR関数です。エラーの時にFALSEにしたい場合は「=FALSE」って書くとOKです。

余談

私の場合は、今回はアクセス解析をしていたので、ホスト名の一部に「googlebot」を含むかどうかを判断したいと考えていました。例えば、「crawl-66-249-74-176.googlebot.com」のような文字列を見つけたい、という動機でした。
これはよく探すしよく忘れるので書いたんですが、エクセルのこういう解説ってなんか、書いてて疲れますね(笑)

タイトルとURLをコピーしました