ピアのパソコン学習ガイド
メニュー
Excel関数

FIND関数・SEARCH関数の使い方|文字が何文字目にあるか

ピアのパソコン学習ガイド 編集部2026年11月10日 更新

※写真はイメージです

書き方はこれだけ

=FIND(探す文字, 対象)

FINDは、探す文字が左から何文字目にあるかを数字で返す関数です。「sato@example.jp」の「@」なら5。FIND単体で使うことは少なくて、LEFTやMIDと組み合わせて「@より前」「ハイフンの後ろ」を取り出すのが定番の使い方です。大文字と小文字を区別したくない、「*」などのワイルドカードを使いたいときは、SEARCHを使います。

「@」は左から5文字目。この数字をLEFTやMIDと組み合わせて使う B2 fx =FIND("@",A2) A B C 1 2 3 メールアドレス @の位置 @より前 sato@example.jp 5 sato suzuki.k@example.jp 9 suzuki.k
C2は =LEFT(A2,FIND("@",A2)-1)。@の位置から1を引いた文字数だけ、左から取り出しています。

この図の表をExcelファイルでダウンロード(問題と答えのシートつき)

よく使う例

やりたいこと式
@より前(ユーザー名)=LEFT(A2,FIND("@",A2)-1)
@より後ろ(ドメイン)=MID(A2,FIND("@",A2)+1,100)
「東京都」を含むか=ISNUMBER(FIND("東京都",A2))(含めばTRUE)
2つ目のハイフンの位置=FIND("-",A2,FIND("-",A2)+1)
姓と名を空白で分ける(姓)=LEFT(A2,FIND(" ",A2)-1)

3つ目の「含むか」は、IFと組み合わせると「東京都の人に印」のように使えます。正直、含むかどうかを見たいだけなら、COUNTIFの =COUNTIF(A2,"*東京都*") のほうが分かりやすいかもしれません。

FINDSEARCH
大文字と小文字区別する("A"と"a"は別)区別しない
ワイルドカード(* ?)使えない使える
見つからないとき#VALUE!#VALUE!

日本語の文章を扱うなら、ほとんどFINDで足ります。英字のメールアドレスや商品コードで、大文字・小文字がまざっているときはSEARCHのほうが安全です。

うまくいかないとき

1#VALUE! になる

探す文字が見つかりません。

直し方=IFERROR(LEFT(A2,FIND("@",A2)-1),"") のように、IFERRORで空欄にします。

2あるはずの空白が見つからない

全角の空白と半角の空白は別の文字です。

直し方探す文字を全角の空白にするか、先にSUBSTITUTEで空白をそろえます。

3位置が1つずれる

FINDは探す文字そのものの位置を返します。

直し方その文字を含めたくないなら、LEFTでは -1、MIDでは +1 します。

サンプルファイルで試す

黄色のセルに式を入れて、「答え」のシートと比べてください。

find.xlsx をダウンロード(無料・登録なし)

よくある質問

FIND関数とは?

探す文字が左から何文字目にあるかを返す関数です。=FIND("@",A2) で@の位置が分かります。

FINDとSEARCHのちがいは?

FINDは大文字と小文字を区別し、ワイルドカードが使えません。SEARCHは区別せず、ワイルドカードが使えます。

メールアドレスの@より前を取り出すには?

=LEFT(A2,FIND("@",A2)-1) です。

見つからないときに#VALUE!を出さないには?

IFERRORで囲んで、見つからないときは空欄などを返します。

一緒に覚えたい関数・操作

このページについて

操作の説明は Microsoft 365 の日本語版Excel(Windows)に合わせています。図はこのサイトで作ったもので、表の会社名・商品名・人名は架空です。運営者情報