文字列の中から、特定の文字や単語が「どこにあるか(何文字目)」を調べたいときに便利なのが FIND関数 です。検索やデータ抽出、文字列処理などに欠かせない関数です。
この記事では、FIND関数の基本的な使い方から、SEARCH関数との違い、実務的な活用例までわかりやすく紹介します。
FIND関数とは?
FIND関数は、ある文字列の中で、検索したい文字や単語が最初に現れる位置(文字数)を返す関数です。
検索は大文字・小文字を区別します。
書式
=FIND(検索文字列, 対象文字列, [開始位置])
引数の意味
- 検索文字列:探したい文字や単語(例:”山”、”a”など)
- 対象文字列:検索対象のセルまたは文字列
- 開始位置(省略可):検索を開始する位置(1文字目=1)
基本的な使い方
例 1:文字列内の位置を調べる
=FIND("山", A1)
→ A1に「富士山」とあれば「3」が返る(山は3文字目)
例 2:開始位置を指定して検索
=FIND("a", "banana", 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から始まる点に注意
まとめ
FIND関数は、文字列内の特定文字の位置を特定したいときに非常に便利な関数です。
LEFT関数やMID関数、ISNUMBER関数と組み合わせることで、文字列処理の幅がぐんと広がります。検索にはFIND関数をぜひ活用してみましょう!