あるセルに特定文字列が含まれているかを関数を利用して判定する方法をまとめてみました。
エクセルのデフォルトで用意されている関数では文字列が含まれているかを判定する関数は今のところありません。
なので、関数を組み合わせてその機能を実現させてみました。
以下のようなことをやります。
セルに特定文字列が含まれているかを判定する
やり方は簡単で IF 関数と COUNTIF 関数を併用して判定させます。
上記の画像の例だと D 列には以下のような式を入れています。
#セル「D5」に入力した式
=IF(COUNTIF(A5,"*a*"),TRUE,FALSE)
中身の解説
COUNTIF 関数は、指定した範囲の中に指定した値が何個含まれているかを数えてくれる関数です。
なので、[指定した範囲]を特定の1セルに限定することで、返す値は 0 or 1 となります。
IF 関数は、判定式の結果がTRUEもしくは0以外の数字であれば、[真の値] に設定した値を返し、それ以外であれば [偽の値] に設定した値を返す関数です。
なので、COUNTIF 関数で 0 or 1 の判定式を作って IF 関数で TRUE or FALSE の判定をしているという流れになります。
セルに別セルの値が含まれているかを判定する
今度は上記と似ていますが、特定の文字列ではなく、セルの値を含むかどうかを判定してみます。
上記画像の通り、B列の値がA列に含まれているかを判定する式は以下です。
#セル「E5」に入力した式
=IF(COUNTIF(A5,"*"&B5&"*"),TRUE,FALSE)
先ほどとの違いはCOUNTIF関数の2つ目の引数で、B5の値の前後に *(アスタリスク)を結合させて表現しています。
これであるセルに別のセルの値を含むかどうかを判定することができます。
[参考] 条件付き書式を設定して判定結果を見やすくするとよい
画像上では「TRUE」が赤塗り、赤文字にしていますが、これは条件付き書式で設定しています。
必ず設定する必要はないですが、しておくと「TRUE」なのか「FALSE」なのかが一目で分かりますので設定したほうがいいと思います。
条件付き書式は「ホーム」タブの「スタイル」の欄にあります。
そこから「セルの協調表示ルール」→「指定の値に等しい…」を選択して「TRUE」などと入力すると設定可能です。
さいごに
COUNTIF 関数のみを利用しても 0 or 1 の結果が出るのでこれで見分けても問題ありません。
ただ、数字で見分けるのと、文字列で見分けるのとでは文字列で見極めたほうがパッと見分かりやすいのでわざわざIF関数を入れて文字列で見れるようにしてみた、という感じです。
コメント