【Excel】IF関数で特定の文字列が入っていた場合の計算結果を返す方法

IF関数は単独でワイルドカードが使えない

IF関数はExcelで頻繁に使用される関数の一つです。

IF関数は以下の記事で解説していますので参考にしてください。

【Excel】IF関数を使って複数条件設定/AND・OR・NOT関数との組合せ

IF関数を使用して特定の文字を含むかどうかを判定し、その判定結果に応じてデータを処理したいと感じる場面に遭遇するかもしれません。

例えば以下の例では、市町村区の中で「区」 という文字が含まれている場合「23区」と表示し、そうではない場合ブランクで表示しようとしています。

特定の文字を含むかどうかを判定する場合、ワイルドカード※を使用すると便利です。

しかしながら、IF関数単独ではワイルドカードを使用することができません。

上のB1のセル同様に同じ列にも同様の計算をしてみても、本来A列で「*区」と表示されている場合でも、B列で「23区」と表示させることができていません。

そこで今回は、IFを使用して特定の文字を含む場合の処理結果を返す方法を解説します。

この記事を読むことで、ワイルドカードを使えないというIF関数の弱点を補うことができます。

※ワイルドカードとは

ワイルドカードを使用すると部分一致検索ができます。

ワイルドカード(「*(アスタリスク)」や「?(疑問符)」)を使って条件を指定すると、部分的に等しい文字列を検索することができます。

ワイルドカード意味検索文字列検索結果
?任意の1字?田「田」の前に任意の1文字がつく
例)
柳田
山田
*任意の文字列
(0文字以上)
*原「原」で終わる文字列を検索
例)
清原
小笠原

IF関数とCOUNTIF関数を組み合わせる

結論から書くと、以下のようにIF関数とCOUNTIF関数を組み合わせます。

=IF(COUNTIF(A1,”*区”),”23区”,””)

COUNTIFで参照しているA1のセルで「*区」という文字が含まれているセルの数を返し、「1」ならば「23区」と表示し、含まれていなければブランクにしています。

COUNTIFの構文

COUNTIF(範囲,検索条件)
COUNTIF(セル,検索条件)

ポイントは2点です。

  • COUNTIFでは範囲を参照するケースが多いですが、今回は特定のセルを参照しています。COUNTIFはセルの個数返す際に使われることが多いですが、今回は特定のセルを参照していますので、結果はあるか、ないか、すなわち「1」か「0」が返されることになります。
  • Excelでは1=TRUE、0=FALSEとして計算されます。そのため、COUNTIF関数の結果が「1」の場合、TRUEの条件に分岐し、「0」の場合はFALSEの条件に分岐します。

セルB1同様に同じ列でも計算した結果、A列で「*区」という文字が含まれている市町村区にはB列で「23区」と表示させることができました。

Excelを一度体系的に学ぶと、目に見えて生産性が飛躍的に向上します。

MOS Excel※は資格の取得、及び資格取得までのプロセスを通じて体系的にExcelスキルを身につけることができますのでコスパが良くおすすめです。

※Microsoft Office Specialist(MOS)ExcelはExcelの利用能力を証明する世界的な資格です。

筆者は「スペシャリスト(一般)」と「エキスパート(上級)」両方を取得して体系的にスキルを身に着けました。

MOS試験対策でどのテキストを使うべきか悩まれる方も多いのではないかと思いますが、以下がおすすめです。

今回の内容が参考になれば幸いです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA