「セルの中に“完了”が入っていたら“済”と表示したい」
「“エラー”を含む場合だけ“再確認”と返すようにしたい」
「“〇〇株式会社”という文字を含むときだけ、顧客ランクを自動表示したい」
このような条件判定は、Excelの IF関数 と SEARCH関数(またはFIND関数) を組み合わせることで簡単に実現できます。
セル内の一部に特定の文字が含まれているかどうかを自動的に判定し、
一致していれば別の文字を返す──これは日常業務や分析表で非常に便利なテクニックです。
この記事では、「特定の文字が含まれていたら特定の文字を返す」方法を、
初心者でも理解できるように丁寧に解説していきます。
目次
- ✅ 基本構文:「IF関数×SEARCH関数」で条件を作る
- ・基本構文
- ・例:セルに「完了」が含まれていたら「済」と返す
- ✅ SEARCH関数とFIND関数の違いを理解しよう
- ✅ 応用①:「複数の文字」に対応させる方法(OR関数)
- ・複数文字対応の数式例
- ✅ 応用②:「含まれていなければ別の文字を返す」
- ・含まれていない場合の数式例
- ✅ 応用③:「AND関数」で複数の条件をすべて満たす場合のみ文字を返す
- ・すべて満たす場合の数式例
- ✅ 応用④:「特定の文字を含まない場合」に特定の文字を返す
- ・特定文字を含まない場合の数式例
- ✅ 応用⑤:「部分一致+完全一致」を使い分ける方法
- ・完全一致の数式例
- ✅ 応用⑥:「複数の条件で返す文字を変える」
- ・例:「完了」なら“済”、“保留”なら“確認中”、それ以外は“未”
- ✅ 応用⑦:IFERRORでエラー処理をスマートに
- ・エラー判定の数式例
- ✅ 応用⑧:他の関数と組み合わせて活用する
- ・LEN関数(文字数制限と組み合わせる)
- ・VLOOKUP関数と併用
- ✅ 実務での活用例
- ・1. ステータス自動判定
- ・2. 顧客分類や取引先の自動タグ付け
- ・3. アンケート集計やフラグ管理
- ・4. 不具合報告やエラーログの自動仕分け
- ✅ 注意点とコツ
- ・1. 半角・全角の違いに注意
- ・2. 空白文字(スペース)を含むと一致しない
- ・3. エラーが多いときはIFERRORでまとめて制御
- ✅ まとめ:Excelで「特定の文字を含む場合に文字を返す」をマスターしよう
✅ 基本構文:「IF関数×SEARCH関数」で条件を作る
まずは基本の構文を押さえましょう。
・基本構文
=IF(ISNUMBER(SEARCH("文字", 対象セル)), "返す文字", "")
この式の動きは以下の通りです。
SEARCH("文字", 対象セル)
→ 対象セルに特定の文字が含まれているかを検索ISNUMBER(...)
→ 検索結果が「見つかった」場合はTRUE(数値を返す)IF
関数でTRUEなら指定文字を返し、FALSEなら別の文字(または空白)を返す
・例:セルに「完了」が含まれていたら「済」と返す
=IF(ISNUMBER(SEARCH("完了",A1)), "済", "")
A列(判定対象) | B列(結果) |
---|---|
完了しました | 済 |
未完了です | (空白) |
作業完了報告 | 済 |
このように、部分一致で「完了」を含むセルを自動判定できます。
✅ SEARCH関数とFIND関数の違いを理解しよう
似た用途で使える FIND関数
もありますが、次の点で使い分けが必要です。
比較項目 | SEARCH関数 | FIND関数 |
---|---|---|
大文字小文字の区別 | しない | する |
ワイルドカード(* ?) | 使える | 使えない |
エラー処理 | 見つからないと#VALUE!を返す | 同様に#VALUE!を返す |
実務では、一般的に「SEARCH関数」を使うほうが柔軟で便利です。
特に部分一致や大文字小文字を無視したい場合はSEARCH関数を選びましょう。
参考:【Excel】キーワード検索して抽出する方法まとめ|日常業務をもっとスマートに
✅ 応用①:「複数の文字」に対応させる方法(OR関数)
たとえば、セルに「完了」または「終了」という文字が含まれている場合に「済」と返したい場合は、
OR
関数を組み合わせます。
・複数文字対応の数式例
=IF(OR(ISNUMBER(SEARCH("完了",A1)), ISNUMBER(SEARCH("終了",A1))), "済", "")
A列 | 結果 |
---|---|
完了しました | 済 |
終了しました | 済 |
作業中です | (空白) |
OR関数によって、いずれかの文字が含まれていれば「済」と返します。
このように、複数のキーワードを扱うときはORで条件を連結すると便利です。
参考:【Excel】IF関数で複数条件を指定する方法とは?AND・OR・IFSまで完全ガイド!
✅ 応用②:「含まれていなければ別の文字を返す」
IF関数の3つ目の引数を使うことで、「含まれていない場合」に返す文字を指定できます。
・含まれていない場合の数式例
=IF(ISNUMBER(SEARCH("完了",A1)), "済", "未")
A列 | B列(結果) |
---|---|
完了しました | 済 |
作業中 | 未 |
未完了 | 未 |
このように、条件に合致しなければ「未」などの別の文字を返すことも可能です。
空白ではなくステータスを自動表示させたい場合に有効です。
参考:【Excel】IF関数と数式の組み合わせで動的な書式管理を実現する方法|Excel条件付き書式の実践活用術
✅ 応用③:「AND関数」で複数の条件をすべて満たす場合のみ文字を返す
複数のキーワードが両方含まれているときに特定の文字を返したい場合は、AND関数を使います。
・すべて満たす場合の数式例
=IF(AND(ISNUMBER(SEARCH("完了",A1)), ISNUMBER(SEARCH("報告",A1))), "OK", "")
A列 | 結果 |
---|---|
完了報告あり | OK |
完了のみ | (空白) |
報告のみ | (空白) |
このように、「完了」と「報告」の両方が含まれている場合にだけ「OK」と返します。
参考:【Excel】条件付き書式とIF関数で視覚的に判断しやすくする方法とは?
✅ 応用④:「特定の文字を含まない場合」に特定の文字を返す
逆に、「特定の文字を含まない場合」に別の文字を返したいケースもよくあります。
この場合は、ISERROR
またはISNA
関数を使ってエラーを判定します。
・特定文字を含まない場合の数式例
=IF(ISERROR(SEARCH("完了",A1)), "未完了", "完了")
A列 | 結果 |
---|---|
完了しました | 完了 |
作業中 | 未完了 |
保留中 | 未完了 |
SEARCH関数が見つからない場合はエラーとなり、ISERRORがTRUEを返します。
この性質を利用して、「含まれていなければ〇〇」といった判定が可能になります。
参考:【Excel】「範囲内にあれば」を判定する関数まとめ|存在チェックの基本と応用
✅ 応用⑤:「部分一致+完全一致」を使い分ける方法
- 部分一致判定(含まれていれば) → SEARCH関数を使用
- 完全一致判定(セル全体が一致) → 「=」比較を使用
・完全一致の数式例
=IF(A1="完了","済","未")
A列 | 結果 |
---|---|
完了 | 済 |
完了しました | 未 |
未完了 | 未 |
このように、「セル全体が“完了”のみの場合」に限定して判定します。
一方で、「完了しました」などを含めたい場合はSEARCH関数を使うのが適切です。
✅ 応用⑥:「複数の条件で返す文字を変える」
業務の現場では「条件に応じて返す文字を変えたい」ケースが多くあります。
その場合は、IF関数を入れ子(ネスト)にします。
・例:「完了」なら“済”、“保留”なら“確認中”、それ以外は“未”
=IF(ISNUMBER(SEARCH("完了",A1)), "済",
IF(ISNUMBER(SEARCH("保留",A1)), "確認中", "未"))
A列 | 結果 |
---|---|
完了しました | 済 |
保留です | 確認中 |
未完了 | 未 |
このように複数条件を設定することで、
1つの式で柔軟に判定・分類が行えます。
参考:【Excel】COUNTIF関数を使用して条件一致の分析方法
✅ 応用⑦:IFERRORでエラー処理をスマートに
SEARCH関数を使用すると、文字が見つからない場合に#VALUE!エラーが出ることがあります。
これを避けるには、IFERRORを使うとスッキリ書けます。
・エラー判定の数式例
=IFERROR(IF(SEARCH("完了",A1),"済",""),"")
または次のようにしてもOKです。
=IFERROR(IF(ISNUMBER(SEARCH("完了",A1)),"済",""),"")
IFERRORを組み込むと、検索文字が見つからなくても空白を返すため、表が崩れません。
報告書や顧客リストなどの自動分類に最適です。
参考:【Excel】IFERROR関数の使い方を徹底解説!エラーを見やすく整える実務テクニック
✅ 応用⑧:他の関数と組み合わせて活用する
この「特定の文字を含んでいたら文字を返す」仕組みは、
他の関数と組み合わせることでさらに強力になります。
・LEN関数(文字数制限と組み合わせる)
例:「完了」を含み、文字数が10文字以内なら「済」と返す。
=IF(AND(ISNUMBER(SEARCH("完了",A1)), LEN(A1)<=10), "済", "")
参考:【Excel】TRIM関数とLEN関数の活用法とは?Excelで文字列処理をスマートにする便利テクニックを徹底解説
・VLOOKUP関数と併用
「特定の文字を含む場合」にVLOOKUPで別表から値を取得することも可能です。
=IF(ISNUMBER(SEARCH("A社",A1)), VLOOKUP(A1, 顧客マスター!A:B, 2, FALSE), "")
これにより、特定のキーワードを含む取引先だけ自動で情報を取得できます。
参考:【ChatGPT】VLOOKUP関数を自動生成する方法|手順・聞き方・注意点を徹底解説
✅ 実務での活用例
・1. ステータス自動判定
進捗報告書などで、「完了」「未完了」「保留」などのワードに応じて自動的に状態を返す。
A列(報告内容) | B列(ステータス) |
---|---|
作業完了しました | 済 |
作業中 | 未 |
保留中です | 確認中 |
・2. 顧客分類や取引先の自動タグ付け
顧客名に「株式会社」や「合同会社」を含む場合にタグを自動付与。
顧客名 | 種別 |
---|---|
株式会社東京商事 | 法人 |
山田太郎 | 個人 |
合同会社スマイル | 法人 |
数式:
=IF(OR(ISNUMBER(SEARCH("株式会社",A1)), ISNUMBER(SEARCH("合同会社",A1))), "法人", "個人")
・3. アンケート集計やフラグ管理
回答内容に「はい」を含む場合だけ「○」、
含まない場合は「×」を自動表示。
=IF(ISNUMBER(SEARCH("はい",A1)), "○", "×")
・4. 不具合報告やエラーログの自動仕分け
セル内に「エラー」や「失敗」を含む場合に「要確認」と返す。
トラブル報告一覧を自動で分類できます。
✅ 注意点とコツ
・1. 半角・全角の違いに注意
「エラー」と「エラー」は別の文字列です。
一致しない場合は、SUBSTITUTE
やASC/DESC
関数を併用して統一します。
・2. 空白文字(スペース)を含むと一致しない
余分なスペースを除去したい場合は、TRIM
関数を使います。
例:=IF(ISNUMBER(SEARCH("完了",TRIM(A1))),"済","")
参考:【Excel】「特定の文字が含まれていたら色をつける」方法を徹底解説|条件付き書式で自動判定!
・3. エラーが多いときはIFERRORでまとめて制御
複数のSEARCH関数を組み合わせるとエラーが頻発するため、
全体をIFERROR(...,"")
で包むのが安全です。
✅ まとめ:Excelで「特定の文字を含む場合に文字を返す」をマスターしよう
- 「セルに特定の文字が含まれていたら文字を返す」には
IF(ISNUMBER(SEARCH("文字",A1)), "返す文字", "")
を使う - 複数条件は
OR
・AND
関数で柔軟に制御できる - IFERRORを使えばエラーをスマートに回避
- 完全一致は
=A1="文字"
で判定 - ステータス判定・顧客分類・アンケート集計など実務で幅広く応用可能
ExcelのIF関数とSEARCH関数を組み合わせることで、
「条件に応じて自動的に文字を返す」処理が誰でも簡単に作れます。
一度仕組みを作れば、日々の業務でのチェック作業や報告作成が驚くほど効率化します。
ぜひ今日から実践して、Excelを“自動判定ツール”として活用してみましょう。