Excel 指定のテキストが何文字目にあるかを調べる (FIND関数)

2023年3月25日

English version.

FIND関数は指定のテキストが何文字目に存在するかを調べるための関数です。

単独では指定文字列が存在するか否かの機械的な判定に使うことが多く、

他の文字列関数との併用することも多いです。

仕様

=FIND(検索文字列,対象,開始位置)
引数省略時の値説明
検索文字列省略不可位置を探すテキスト。
対象省略不可対象の中に、検索文字列がないかを探す。
開始位置1取り出す文字数を数値で指定。(文字数を超えた場合、末尾まで)
各引数の詳細

使用例

基本的には下のように利用します。

対象(B3)の中で検索文字列(猫)の文字が4番に登場するため数式の結果(E4)が4になり、

存在しない場合は#VALUEエラーになります。

基本的な使用例
基本的な使用例

文字の存在判定を行う例

IF関数とISERROR関数を併用することで自動判定を行う数式を作ることが可能です。

文字の存在判定を行う例
文字の存在判定を行う例

数式

=IF(ISERROR(FIND(検索文字列,対象)),"存在しない","存在する")

ISERROR関数の引数にFIND関数を指定した場合、このような真偽値が結果になります。

FIND関数で結果が見つかるエラーではない…偽(FALSE)
FIND関数で結果が見つからないエラーである…真(TRUE)

真偽値はそのままIF関数の引数に出来るため、一つ目の引数にFIND関数とISERROR関数を指定します。

そして二つ目の引数に見つからない場合の結果、

三つ目の引数に見つかる場合の結果を指定すれば自動判定の数式が完成します。

FIND関数とSEARCH関数の違い

SEARCH関数と同じ引数で同じ機能の関数ですが、判定方法に微妙な違いがあります。

FINDSEARCH
大文字・小文字区別する区別しない
ワイルドカードによる
部分一致検索
不可能可能
FIND関数とSEARCH関数の違い
FIND関数とSEARCH関数の比較例
FIND関数とSEARCH関数の比較例

大文字・小文字を区別するほうが都合がよいため、

基本的にはFIND関数の使用を推奨します。

SEARCH関数は大文字・小文字を区別せずに検索したい場合と

ワイルドカードによる部分一致検索を行いたい場合に限って使用しましょう。

スピルを利用する方法とメリット

Office365やExcel2019以降ではスピルという形式で記述可能です。

これは複数セルに数式をコピーする場合に便利な機能です。

スピルの利用には何れかの引数を複数セルの範囲で指定します。

例では検索文字列のみ範囲にしていますが、対象を範囲にすることも可能です。

スピルでFIND関数を記述する例(C5セル)
スピルでFIND関数を記述する例(C5セル)

数式を入力するのは最初の一つのセルですが、

引数で指定した高さ分、数式がセルのコピーなしで自動拡大されます。

C5に指定したFIND関数がC10まで自動拡大
C5に指定したFIND関数がC10まで自動拡大

スピルを利用することで今回の例では、

C5セルに入力するだけでよいため(C6以降にコピーペーストが不要)

以下のメリットがあります。

  • 入力の手間が少ない(数式のセルが多いほど効果が大きい)
  • 数式を編集した時、コピー忘れのリスクがない(最初のセルを更新すると全セルに反映)
  • 絶対参照が不要
  • 途中に行を追加した場合、数式のコピー&ペーストが不要。行削除でも壊れにくい。

Excelを効率的に習得したい方へ

当サイトの情報を電子書籍用に読み易く整理したコンテンツを

買い切り950円またはKindle Unlimited (読み放題) で提供中です。

Word-A4サイズ:1,400ページの情報量で

(実際のページ数はデバイスで変わります)

基本的な使い方、関数の解説(140種類)、

頻出テクニックと実用例(109種類)、

XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピルなど便利な新機能を紹介。

体系的に学びたい方は是非ご検討ください。

アップデートなどの更新事項があれば随時反映しています。

なお購入後に最新版をダウンロードするには

Amazonへの問い合わせが必要です。

関連記事

FIND関数の使い方・活用方法の記事一覧

関数の仕様と使い方の記事一覧

各種エラーの発生条件と判定関数

指定の文字が何文字目にあるかを調べる (SEARCH関数)

ChatGPTにExcelの関数や数式について問い合わせる