PR

指定した特定の文字列が、セルに含まれているか判定するExcel関数の書き方

Excel関数で特定の文字列がセルに含まれているかを判定する方法

Excelで指定した文字列が特定のセル内に含まれているかを判定し、その結果を表示する方法について詳しく解説します。特に、ワイルドカードを活用したCOUNTIF関数を用いることで、柔軟な条件判定が可能になります。


スポンサーリンク

1. 指定した文字列がセルに含まれているかを判定する基本式

セルA1に指定した文字列が含まれている場合、セルB1に判定結果を表示するには、以下の数式を使用します。

=IF(COUNTIF(A1, "*検索文字列*"), "○", "")

セルA1に「YOU」という文字列が含まれているかを判定し、含まれている場合は「○」、含まれていない場合は空白を表示する場合:

=IF(COUNTIF(A1, "*YOU*"), "○", "")

仕組み

  • COUNTIF(A1, "*YOU*")
    • A1の中に”YOU”という文字列がある場合は1を返し、ない場合は0を返します。
    • "*YOU*"*(アスタリスク)はワイルドカードであり、「任意の文字列」を意味します。そのため、「YOU」がA1のどこにあってもカウントされます。
  • IF(…)
    • COUNTIFの結果が1以上なら「○」を表示し、0なら空白を表示します。

2. 応用編:大文字小文字を区別せずに判定する方法

COUNTIF関数は大文字小文字を区別するため、「you」と「YOU」は別の文字列として扱われます。大文字小文字を区別せずに検索するには、SEARCH関数を使います。

=IF(ISNUMBER(SEARCH("you", A1)), "○", "")

仕組み

  • SEARCH("you", A1)
    • A1の中に「you」という文字列がある場合、その開始位置(数値)を返します。
    • 含まれていない場合はエラーになります。
  • ISNUMBER(SEARCH(…))
    • SEARCHの結果が数値(文字が含まれている)ならTRUE、エラー(文字が含まれていない)ならFALSEを返します。
  • IF(… , "○", "")
    • TRUEなら「○」を表示し、FALSEなら空白を表示します。

この方法なら、大文字小文字の違いを気にせずに検索可能です。


3. 文字列が複数含まれているかを判定する方法

複数の単語を対象に、「いずれかの単語が含まれているか」を判定する場合は、COUNTIFS関数またはOR関数を利用します。

例:A1に「YOU」または「HELLO」が含まれている場合に「○」を表示

=IF(OR(COUNTIF(A1, "*YOU*"), COUNTIF(A1, "*HELLO*")), "○", "")

または、SEARCH関数を使用して大文字小文字を区別しない方法:

=IF(OR(ISNUMBER(SEARCH("you", A1)), ISNUMBER(SEARCH("hello", A1))), "○", "")

4. 文字列が含まれる場合に特定の値を返す応用例

検索対象の文字列に応じて異なる値を返すことも可能です。

例:「GOOD」が含まれていると「良い」、「BAD」が含まれていると「悪い」を表示

=IF(ISNUMBER(SEARCH("GOOD", A1)), "良い", IF(ISNUMBER(SEARCH("BAD", A1)), "悪い", ""))

このように、IFをネストして条件を増やせば、さまざまな判定が可能になります。


5. 注意点と補足

❌ COUNTIFのワイルドカードは半角・全角を区別する

COUNTIF関数を使用すると、全角・半角の違いを厳密に区別してしまいます。そのため、「ABC」と「ABC」は異なるものと見なされます。

❌ COUNTIFは大文字小文字を区別する

  • 「apple」と「APPLE」は別のものと判定されます。
  • 大文字小文字を区別しない場合は、SEARCH関数を使用しましょう。

✅ エラー回避

SEARCHを使うと、文字が見つからない場合にエラーになります。これを防ぐためにIFERRORを使うと安全です。

=IFERROR(IF(ISNUMBER(SEARCH("you", A1)), "○", ""), "")

6. まとめ

判定条件関数の書き方補足
文字列が含まれているか=IF(COUNTIF(A1, "*YOU*"), "○", "")大文字小文字を区別する
大文字小文字を無視して判定=IF(ISNUMBER(SEARCH("you", A1)), "○", "")検索語句は小文字で統一
複数の文字列を判定=IF(OR(COUNTIF(A1, "*YOU*"), COUNTIF(A1, "*HELLO*")), "○", "")COUNTIFを複数回使用
指定した単語ごとに異なる値を返す=IF(ISNUMBER(SEARCH("GOOD", A1)), "良い", IF(ISNUMBER(SEARCH("BAD", A1)), "悪い", ""))IFをネストして条件を追加
エラーを回避する=IFERROR(IF(ISNUMBER(SEARCH("you", A1)), "○", ""), "")文字が見つからない場合も対応

これらの方法を活用することで、Excelで柔軟な文字列検索を行い、さまざまな判定が可能になります。

コメント

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