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

2019年9月5日

FIND関数は指定の文字列が

何文字目に存在するかを

調べるための関数です。

他の文字列関数との併用が多いですが

単独では指定文字列が存在するか否かの

機械的な判定に使うことが多い関数です。

仕様

FIND(検索文字列,対象,開始位置)

<検索文字列>
検索する文字列かセルを指定します。

<対象>
検索対象となる文字列かセルを指定します。

<開始位置>
検索を開始する位置を数値かセルで指定します。
先頭は1です。開始位置は省略可能です。

使用例

基本的な例

このような結果になります。

検索文字列が存在しない場合は

#VALUEというエラーになります。

基本的な例と検索文字列が見つからない場合の例

右(後ろ)からの検索を行う例

自動判定を行う例

IF関数とISERROR関数を併用することで

自動判定を行う数式を作ることが可能です。

数式

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

ISEEROR関数の引数にFIND関数を指定した場合、

このような真偽値が結果になります。

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

真偽値はそのままIF関数の引数と出来るため

一つ目の引数である判定の部分に記述します。

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

三つ目の引数に見つかる場合の結果を

記述すれば自動判定の数式が完成します。

複数の検索文字列を指定する

FIND関数は検索文字列を

一つしか指定できませんが

IFERROR関数を重ねるか

配列数式を使用すると

複数の検索文字列を指定して

FIND関数を使用できます。

2つ目以降の位置を取得する

FIND関数は1つ目の結果のみ

位置を取得しますが、

組み合わせることで

任意のN個目の位置を

取得することが可能です

関連記事

活用例

セルにファイル名とシート名を表示する方法

指定の文字が何バイト目にあるかを調べる (FINDB関数)

CSVなどの文字列の分割を関数で行う方法

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

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

フォローする