文字列の中から、特定の文字や単語が「どこにあるか(何文字目)」を調べたいときに便利なのが FIND関数 です。検索やデータ抽出、文字列処理などに欠かせない関数です。
この記事では、FIND関数の基本的な使い方から、SEARCH関数との違い、実務的な活用例までわかりやすく紹介します。
FIND関数とは?
FIND関数は、ある文字列の中で、検索したい文字や単語が最初に現れる位置(文字数)を返す関数です。
- 検索は大文字・小文字を区別します。
書式
=FIND(検索文字列, 対象文字列, [開始位置])
引数の説明
- 検索文字列:探したい文字や単語(例:”山”、”a”など)
- 対象文字列:検索対象のセルまたは文字列
- 開始位置(省略可):検索を開始する位置(1文字目=1)
FIND関数の使い方
例:文字列の中から「指定した文字」が最初に現れる位置を調べる

FIND関数は、文字列の中で「指定した文字列がどこに現れるか」を調べ、
その開始位置を返す関数です。
SEARCH関数とよく似ていますが、FINDは大文字・小文字を区別するのが大きな特徴です。
セルB7の”apple” の “a” は小文字ですが、検索は大文字の “A”。
FIND関数は大文字・小文字を区別するため、見つからず エラー(#VALUE!) になります。
例 2:開始位置を指定して検索
開始位置を指定するには、第三引数を追加します。
=FIND("a", B3, 3)

→ 3文字目以降で最初の「a」は4文字目 → 結果は「4」
よくある活用例
1. メールアドレスからユーザー名だけを抜き出す
=LEFT(A1, FIND("@", A1) - 1)
→ 「@」の前の文字列を取得
2. 文字列の一部が含まれているかチェック(ISNUMBERと組み合わせ)
=IF(ISNUMBER(FIND("重要", A2)), "含む", "含まない")
3. 特定文字の出現位置に応じて処理を変える
→ たとえばハイフンが5文字目以降にあるかを判定 など
FIND関数とSEARCH関数の違い
| 関数 | 大文字小文字の区別 | ワイルドカード対応 |
|---|---|---|
| FIND関数 | 区別する | 非対応 |
| SEARCH関数 | 区別しない | 対応 |
→ 厳密な検索にはFIND関数、柔軟な検索にはSEARCH関数が向いています。
注意点
- 検索文字列が見つからない場合は
#VALUE!エラーになる - 結果は「何文字目か」を返す(文字そのものではない)
- 開始位置は1から始まる点に注意
関連関数
| 関数名 | 役割・特徴 |
|---|---|
| SEARCH関数 | 文字列内で指定語句の位置を検索(大文字・小文字を区別しない) |
| LEFT/MID/RIGHT関数 | 文字列の指定文字数を抽出 |
| LEN関数 | 文字列の長さを取得 |
| IFERROR関数 | エラー時に別の値を返す |
まとめ
FIND関数は、文字列内の特定文字の位置を特定したいときに非常に便利な関数です。
LEFT関数やMID関数、ISNUMBER関数と組み合わせることで、文字列処理の幅がぐんと広がります。検索にはFIND関数をぜひ活用してみましょう!
関連記事:LEFT関数の使い方
関連記事:MID関数の使い方
関連記事:ISNUMBER関数の使い方