Excel 指定の文字が何文字目にあるかを調べる (SEARCH関数)
SEARCH関数は指定の文字列が何文字目に存在するかを調べるための関数です。
基本的にはFIND関数を推奨します。(理由は後述)
仕様
=SEARCH(検索文字列,対象,開始位置)
引数 | 省略時の値 | 説明 |
---|---|---|
検索文字列 | 省略不可 | 検索する文字列を指定。 |
対象 | 省略不可 | 検索対象となる文字列を指定 |
開始位置 | 1 | 検索を開始する位置を数値で指定。 (最も左を1とした連番) |
使用例
基本的な例
検索文字列が存在しない場合は#VALUEエラーになります。

文字の存在判定を行う例
IF関数とISERROR関数を併用することで自動判定を行う数式を作ることが可能です。
=IF(ISERROR(SEARCH(検索文字列,対象)),"存在しない","存在する")

ISERROR関数の引数にSEARCH関数を指定した場合、このような真偽値が結果になります。
SEARCH関数で結果が見つかる | エラーではない…偽(FALSE) |
SEARCH関数で結果が見つからない | エラーである…真(TRUE) |
真偽値はそのままIF関数の引数と出来るため
一つ目の引数である判定の部分に記述します。
そして二つ目の引数に見つからない場合の結果、
三つ目の引数に見つかる場合の結果を
記述すれば自動判定の数式が完成します。
SEARCH関数とFIND関数の違い
FIND関数と同じ引数で同じ機能の関数ですが判定方法に微妙な違いがあります。
FIND関数 | SEARCH関数 | |
---|---|---|
大文字・小文字 | 区別する | 区別しない |
ワイルドカードによる部分一致検索 | 不可能 | 可能 |

普段の使用であれば大文字・小文字を区別するほうが都合がよいため、
FIND関数の使用を推奨します。
SEARCH関数は大文字・小文字を区別せずに検索したい場合と
ワイルドカードによる部分一致検索を行いたい場合に限って使用しましょう。
スピルを利用する方法とメリット
Office365やExcel2019以降ではスピルという形式で記述可能です。
これは複数セルに数式をコピーする場合に便利な機能です。
スピルの利用には何れかの引数を複数セルの範囲で指定します。

数式を入力するのは最初の一つのセルですが、
引数で指定した高さ分、数式がセルのコピーなしで自動拡大されます。

スピルを利用することで今回の例では、
C3セルに入力するだけでよいため(C4以降にコピーペーストが不要)
以下のメリットがあります。
- 入力の手間が少ない(数式のセルが多いほど効果が大きい)
- 数式を編集した時、コピー忘れのリスクがない(最初のセルを更新すると全セルに反映)
- 絶対参照が不要
- 途中に行を追加した場合、数式のコピー&ペーストが不要。行削除でも壊れにくい。
Excelを効率的に習得したい方へ
当サイトの情報を電子書籍用に読み易く整理したコンテンツを
買い切り950円またはKindle Unlimited (読み放題) で提供中です。

Word-A4サイズ:1,400ページの情報量で
(実際のページ数はデバイスで変わります)
基本的な使い方、関数の解説(140種類)、
頻出テクニックと実用例(109種類)、
XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピルなど便利な新機能を紹介。
体系的に学びたい方は是非ご検討ください。
アップデートなどの更新事項があれば随時反映しています。
なお購入後に最新版をダウンロードするには
Amazonへの問い合わせが必要です。