エクセル初心者
エクセルで文字の位置を調べる【FIND関数】について知りたいな!メールアドレスの『@』の位置が何文字目か調べたりしたいいんだけど、できるかな?
もちろんできるよ!文字の位置を調べる【FIND関数】をくわしく解説するね! 他の関数と組み合わせて検索する方法なども紹介するので参考にしてね!
Dr.オフィス
エクセルでは、文字の位置を調べることも【FIND(ファインド)関数】を使えばとても簡単です。
FIND関数は、検索したい文字を対象の文字列から探しだし、何文字目になるか位置を表示することができます。
場合によっては、文字の検索の開始位置を指定して、対象の文字が何文字目か位置を表示します。
- FIND関数に検索する文字の入力
- 検索する文字列を指定
- 検索する位置を指定(無ければ先頭から検索される)
検索する文字列は『” “(空白)』や『データの入ったセルを参照』なども出来ます。
さっそくFIND関数を使って、検索したい文字の位置を解説しながら、調べてみましょう。
FIND関数は『エクセル関数のレベルアップ』におすすめです。
そして本記事は下記の動画でも解説しているので、ぜひ合わせてご覧ください。
ほかにも脱初心者が知っとくべき関数を43個紹介した記事があるので、ぜひチェックしてみてください。
※本記事は『OS:Windows10』画像は『Excelのバージョン:2019』を使用しています。
目次
文字の位置を調べれるFIND関数の使い方
FIND関数は、文字の位置を調べることが出来ます。
平仮名や漢字、アルファベットの大文字や小文字も検索文字列として指定できます。
FIND関数とは
=FIND(検索文字列,対象,開始位置)
意味:検索文字列を対象の中から検索し、開始位置(無ければ先頭)から何文字目か位置を表示します。
FIND関数は、検索したい文字が何文字目かを調べることができ、そして他の関数と組み合わせながら使うとさらに便利な関数になります。
FIND関数を使い文字の位置を調べてみよう!
今回は『社員名簿のメールアドレス』を使い解説します。
メールアドレスの『@』が、先頭文字から何文字目に位置しているかFIND関数を使い求めてみましょう。
- STEP
FIND関数を入力する
E3のセルに『=FIND(“@”,D3,1)』を入力し、Enterを押します。
指定した検索文字列が『@』などの文字の場合は、文字の前後に【””】ダブルクォーテーションで囲んでね!
Dr.オフィス
- STEP
@の位置が返る
『@』は先頭から数えて『5文字目』なので、『5』が表示されました。
- STEP
オートフィルでコピーする
E3のセルをオートフィルでコピーしましょう。
すべての『@』が先頭から何文字目か調べることがとても簡単に出来ました。
先頭から調べる場合には『=FIND(“@”,D3)』でもOK!開始位置の『1』を省略してもかまわないよ。
Dr.オフィス
開始位置を指定してから文字の位置を調べるには?
開始位置を指定して文字の位置を調べてみましょう。
小文字『e』が何文字目か調べます。
- STEP
開始位置を指定する
今回、開始位置はF3セルの『5』を参照します。
- STEP
FIND関数の入力
E3セルに『=FIND(“e”,D3,$F$3)』を入力し、Enterを押しましょう。
- STEP
開始位置を指定して【e】の位置を返す
D3のメールアドレスの先頭から『5番目の文字』の位置より、『e』が先頭の文字から何文字目にあるかが分かります。
yuta@exceldoctor.jpでは、【e】が6文字目にありました。
- STEP
他のアドレスも何文字目か調べるには
メールアドレスの先頭から『5番目の文字』の位置より、『e』が先頭の文字から何文字目にあるかを調べるための計算式は『=FIND(“e”,D3,$F$3)』になりました。
この参照しているF3の『$』は絶対参照です。
オートフィルでコピーしたいのでF3セルを動かさないように固定しています。
絶対参照についてはこちら≫エクセルの絶対参照「F4」を参考にしてみてくださいね。
- STEP
オートフィルでコピーする
F3セルを固定した絶対参照の式をオートフィルでコピーしましょう。
- STEP
他のアドレスも【e】が何文字目か分かる!
D8のセルを見てみましょう。
先頭から4文字目に『e』がありますが、これは検索対象外になります。
開始位置が『5』文字目からなので、『e』の位置は『10文字目』と表示されています。
開始位置を指定しても、数え始めるのは先頭文字からだよ!注意してね!
Dr.オフィス
FIND関数とLEFT関数を組み合わせてみよう!
メールアドレスの『@』から前の部分を取り出してみましょう。
今回は【LEFT(レフト)関数】と組み合わせます。
LEFT関数は、文字列の先頭から指定された文字数分の文字列を表示してくれます。
E3のセルに『=LEFT(D3,FIND(“@”,D3)-1)』を入力しEnterを押しましょう。
『FIND』で『@』が先頭から何文字目にあるか探します。
『@』から前の部分【yuta】が取り出せました。
数式『=LEFT(D3,FIND(“@”,D3)-1)』の『-1』は『@』を含めないために入れているよ。
『-1』を入れないと『@』も含めてしまうんだよ。
Dr.オフィス
LEFT関数についての詳しい解説はこちらエクセルで文字列を抽出するLEFT関数!を参考にしてみてくださいね。
FIND関数を複数使って文字を検索しよう
FIND関数とIFERROR関数を使って、複数の条件を指定して文字を検索しましょう。
今回は『都・道・府・県』が何文字目に入っているかを検索します。
数式に『都・道・府・県』を入れる方法
- STEP
A列の住所から、『都・道・府・県』が何文字目に入っているかを調べる
B2セルを選択し、『=IFERROR(FIND(“都”,A2),IFERROR(FIND(“道”,A2),IFERROR(FIND(“府”,A2),IFERROR(FIND(“県”,A2),0))))』を入力してEnterを押してください。
- STEP
何文字目かが返る
『北海道札幌市』の『道』が『3文字目』に入っていることが返りました。
- STEP
オートフィルでコピーする
他の県も確認するために、B2セルをオートフィルでコピーしましょう。
それぞれの住所の『都・道・府・県』が何文字目に入っているかが分かりました。
数式に『都・道・府・県』の絶対参照を入れる方法
- STEP
A列の住所から、『都・道・府・県』が何文字目に入っているかを調べる
今回はD列の検索条件を使用します。
- STEP
数式の入力
B2セルを選択し、『=IFERROR(FIND($D$2,A2),IFERROR(FIND($D$3,A2),IFERROR(FIND($D$4,A2),IFERROR(FIND($D$5,A2),0))))』を入力してEnterを押してください。
- STEP
オートフィルでコピーする
『北海道札幌市』の『道』が『3文字目』に入っていることが返ったので、他の県もオートフィルでコピーします。
- STEP
絶対参照を使って求めることができた
D列の検索条件を使用して、『都・道・府・県』が何文字目に入っているかを調べることができました。
FIND関数で右から文字を検索するには
FIND関数で右から文字を検索したい時は、複数の関数と組み合わせて数式を作らなければいけません。
上のような文字列から最後の部分だけ抜き出したい時は、右側からの検索が便利です。
抜き出したい文字列の直前にある記号の位置を利用して、「この記号よりも右側を抽出する」といった内容の数式を作っていきます。
右から検索する詳しい方法については、こちら≫FIND関数で右側から文字を検索する方法の記事で解説していますので参考にしてみてください。
エクセルのFIND関数に関するQ&A
Q
エクセルのFIND関数の式って、どんなの?
A
【=FIND(検索文字列,対象,開始位置)】です。くわしくは、こちら≫文字の位置を調べるFIND関数を参考にしてみてください。
Q
FIND関数で『#VALUE!』のエラーが出たけど、どうして?
A
FIND関数で検索した結果がなかったので『#VALUE!』のエラーが出ています。
検索する文字列を見直してみましょう。
FIND関数ならいろんな文字の位置を調べれる!
FIND関数は、文字列の位置を調べることができる関数でした。
エクセルで文字列の位置を調べる時はFIND関数をぜひ使ってみてください。
では、FIND関数の簡単ステップをおさらいしましょう。
- FIND関数に検索する文字の入力
- 検索する文字列を指定
- 検索する位置を指定(無ければ先頭から検索される)
目視で『先頭文字から何文字目に位置しているか』など、細かい作業もFIND関数があれば簡単に見つけることができます。
そして、他の関数を組み合わせることで、さらに便利な関数にもなりました。
FIND関数は『エクセル関数のレベルアップ』におすすめなので、活用してみてください。