Excelでは、1つのセルに複数の文字が入力されている場合でも、特定の文字が含まれているかを判定して、別のセルに表示できます。
たとえば、一つのセルに次のような文字が入力されているとします。
えんぴつ 消しゴム ファイル
この中に「えんぴつ」があれば「えんぴつ」、「消しゴム」があれば「消しゴム」と、それぞれ別のセルに表示できます。
この記事では、COUNTIF関数を使う方法とSEARCH関数を使う方法を紹介します。

COUNTIFで特定の文字が含まれていたら別セルに表示する
まずは、COUNTIF関数を使う方法です。
B2セルに次の数式を入力します。
=IF(COUNTIF($A2,"*"&B$1&"*")>0,B$1,"")入力したら、必要な範囲まで右方向・下方向へコピーします。
A2セルの中にB1セルの文字が含まれていれば、その文字が表示されます。
たとえばA2セルに、
えんぴつ 消しゴム ファイル
と入力されている場合、「えんぴつ」「消しゴム」「ファイル」は表示され、「はさみ」は空白になります。

「*」は部分一致を表す
数式の中にある「*」は、ワイルドカードと呼ばれる記号です。
"*"&B$1&"*"とすることで、セルの前後に別の文字が入力されていても、B1セルの文字が含まれていれば一致と判定できます。
たとえばC5セルが「えんぴつ」であれば、「赤いえんぴつ」、「えんぴつセット」、「えんぴつ 消しゴム」なども一致します。
👉COUNTIFで「AまたはB」のような複数条件を数えたい場合は、こちらの記事でも詳しく紹介しています。
SEARCH関数でも特定の文字を判定できる
SEARCH関数を使って、同じように判定することもできます。
SEARCH関数の場合は、次の数式を入力します。
=IF(ISNUMBER(SEARCH(B$1,$A2)),B$1,"")SEARCH関数は、指定した文字がセル内の何文字目にあるかを調べる関数です。
文字が見つかれば数値が返されるため、その場合だけB1セルの文字を表示しています。
結果はCOUNTIF関数を使った場合と同じです。

COUNTIFとSEARCHはどちらを使えばいい?
今回のように、特定の文字が含まれているかを確認して、その文字を表示するだけならCOUNTIFが分かりやすいです。
COUNTIFは、ワイルドカードを使うことで部分一致を簡単に判定できます。
一方、SEARCH関数は「文字が何文字目にあるか」を取得できるため、文字の位置を使った処理にも応用できます。
単純に「含まれている・含まれていない」を判定するならCOUNTIF、文字の位置も利用したい場合はSEARCHを使うとよいでしょう。
部分一致になる点には注意
今回紹介した方法は、基本的に部分一致で判定します。
たとえば検索する文字が、「のり」の場合、「のりもの」にも「のり」が含まれているため、一致と判定されます。
「のり」という単語だけを完全に区別したい場合は、元データの区切り方に合わせて数式を調整する必要があります。
なお、COUNTIFとSEARCHはどちらもアルファベットの大文字・小文字を区別せずに判定します。
まとめ
Excelで、1つのセルに特定の文字が含まれていたら別セルへ表示したい場合は、COUNTIF関数を使うと簡単です。
=IF(COUNTIF($A2,"*"&B$1&"*")>0,B$1,"")SEARCH関数でも同じように判定できます。
=IF(ISNUMBER(SEARCH(B$1,$A2)),B$1,"")複数の商品名や項目名などが1つのセルにまとめられているデータを整理するときに便利な方法です。
ぜひ活用してみてください。
👉特定の文字が含まれているかを判定するのではなく、長い文字列から必要な部分だけを取り出したい場合は、こちらの記事も参考にしてください。



コメント