FIND関数とは?
Excelで「特定の文字がどこにあるか」を調べたいときに使うのがFIND関数です。
FIND関数は、文字列の中から指定した文字や単語を探し、その位置を数値で返します。
例えば次のような場面で活躍します。
- メールアドレスの「@」の位置を調べる
- 住所の区切り位置を探す
- MID関数と組み合わせて文字を抽出する
まずは、FIND関数で何ができるのかを確認していきましょう。
なぜ文字の位置を調べる必要があるのか
Excelでは、文字列はすべて「連続したデータ」として扱われます。
そのため、
- 名前
- 住所
- メールアドレス
- 管理番号
などは、人間には区切りが分かっても、Excelには区切りが分かりません。
そこで必要になるのが「文字の位置を調べる関数」です。
特にFIND関数は、MID関数と組み合わせることで、文字の途中データを抽出する際に欠かせない関数です。
FIND関数の基本書式
■書式
=FIND(検索文字, 対象セル)
| 引数 | 内容 |
|---|---|
| 検索文字 | 探したい文字 |
| 対象セル | 調べる文字列 |
FIND関数の基本例
FINDを使って文字の位置を調べる
例:メールアドレスの「@」位置を調べる
データ
A1 = example@test.com
数式
=FIND("@", A1)
結果
8

「@」が8文字目にあることが分かります。
【実務例】メールアドレスのユーザー名を抽出する
メールアドレスでは、「@」より前がユーザー名になります。

ここで、FIND関数とLEFT関数を組み合わせます。
数式
=LEFT(A1, FIND("@", A1)-1)
処理の流れ
① FIND関数
→ @の位置を調べる
② LEFT関数
→ その位置の手前までを取得

このように、FIND関数は「文字の場所を調べる役割」を持っています。

=LEFT(A1, FIND(“@”, A1)-1)の式で-1ってどういう意味なの?

「@ 自体はいらないから」-1で@の部分を引いてます。
役割

FIND("@", A2)
👉 「@」が 何文字目にあるか を返す-1
👉 @の1文字手前まで にするLEFT
👉 左からその文字数だけ取得
つまり「-1」は何をしている?
FINDは「その文字の位置」を返す
LEFTは「文字数」で切り出す👉 だから 1文字分引く
初心者向けの覚え方
ルール
- 区切り文字を含めたくない → -1
- 区切り文字の後から始めたい → +1
セットで覚える
LEFT → -1
MID → +1
FIND関数の注意点
■大文字と小文字を区別する
FIND関数は
ABC
と
abc
を別の文字として認識します。
| 文字列 | 式 | 結果 | 説明 |
| ABC | =FIND(“A”, A1) | 1 | 先頭の大文字 A を見つけた |
| ABC | =FIND(“a”, A1) | #VALUE! | 小文字 a は見つからない(大文字と区別) |

■文字が見つからないとエラーになる

検索した文字が存在しない場合、
#VALUE!
エラーになります。
①エラーを防ぐ方法(IFERROR)
IFERRORは、エラーが出たときだけ、代わりの表示に切り替える関数です。
=IFERROR(FIND("a", A1), "")
文字が見つからない場合、空白(””)を表示できます。

②エラーを防ぐ方法(SEARCH)
SEARCHは、文字列の中から特定の文字列を探し出す関数です。
| 関数 | 特徴 |
|---|---|
| FIND | 大文字小文字を区別 |
| SEARCH | 区別しない |
=SEARCH("a", "A1") 結果: 1
=SEARCH("A", "A1") 結果: 1

📌ポイント
SEARCH は大文字・小文字を区別しません。
初心者の場合は、まずFIND関数を覚えると理解しやすいです。
FIND関数はMID関数とセットで使う
FIND関数は単体でも使えますが、本領を発揮するのはMID関数と組み合わせたときです。
MID関数では「開始位置」を指定する必要があります。
その開始位置を調べるのがFIND関数の役割です。
例:@以降の文字を抽出

=MID(A1, FIND("@", A1)+1, 99)


LEFTの時は@がいらないから-1で、MIDは@の次の文字から取得したいから+1だよね。でも99って何?

「最後まで全部取れればOK」という意思表示です。
99自体に特別な意味はありません。

それなら、99なんて入れなくていいんじゃないの?

なぜ?入れるとかというとMID関数は 3つ目の引数(文字数)が必須 だからです。
=MID(文字列, 開始位置, 文字数)

なぜ99で問題ないのか
理由①:足りなければ勝手に止まる
MIDは
- 指定文字数 > 実際の残り文字数
でも エラーになりません。
➡ 取れるところまで取って終わり。
理由②:メールアドレスは99文字もない
実務で扱う
- ドメイン
- 拡張子
はせいぜい数十文字。
👉 99を超えることはまずない。

じゃあ9でもいい?999でもいい?

✔ OKです ただし、
- 9 → 少なすぎる可能性
- 999 → 意味なくデカい
👉 99は「十分大きい、でも常識的」な数字
実務で完璧に書くなら
=MID(A1, FIND("@", A1)+1, LEN(A1))

👉 残り文字数を動的に指定
でも初心者には99でいい理由
- 数式が短い
- 考えることが減る
- 読みやすい
👉 まずは動くことが最優先
まとめ
FIND関数は、文字列の中から特定の文字の位置を調べる関数です。
特に次のような場面で活躍します。
- メールアドレスの解析
- 住所データの分割
- MID関数との組み合わせ
Excelで文字処理を行う場合、MID関数と合わせて覚えておくと、作業の幅が大きく広がります。



運営者プロフィール
パソコンインストラクターの経験を生かして、シニアの方や初心者の方に、WordやExcelの「できた!」を届けるために活動しています。