楽天リーベイツで楽天ポイント還元最大20%!今なら登録して初回購入で500ポイントもGET!

エクセルでFIND関数の使い方を解説!文字列から文字の位置を調べよう!

5 min 4,111 views
エクセル初心者

エクセル初心者

エクセルで文字の位置を調べる【FIND関数】について知りたいな!メールアドレスの『@』の位置が何文字目か調べたりしたいいんだけど、できるかな?

もちろんできるよ!文字の位置を調べる【FIND関数】をくわしく解説するね! 他の関数と組み合わせて検索する方法なども紹介するので参考にしてね!

Dr.オフィス

Dr.オフィス

エクセルでは、文字の位置を調べることも【FIND(ファインド)関数】を使えばとても簡単です。

FIND関数は、検索したい文字を対象の文字列から探しだし、何文字目になるか位置を表示することができます。

場合によっては、文字の検索の開始位置を指定して、対象の文字が何文字目か位置を表示します。

FIND関数の簡単ステップ
  1. FIND関数に検索する文字の入力
  2. 検索する文字列を指定
  3. 検索する位置を指定(無ければ先頭から検索される)

検索する文字列は『” “(空白)』や『データの入ったセルを参照』なども出来ます。

さっそくFIND関数を使って、検索したい文字の位置を解説しながら、調べてみましょう。

FIND関数は『エクセル関数のレベルアップ』におすすめです。

そして本記事は下記の動画でも解説しているので、ぜひ合わせてご覧ください。

ほかにも脱初心者が知っとくべき関数を43個紹介した記事があるので、ぜひチェックしてみてください。

※本記事は『OS:Windows10』画像は『Excelのバージョン:2019』を使用しています。

文字の位置を調べれるFIND関数の使い方

FIND関数は、文字の位置を調べることが出来ます。

平仮名や漢字、アルファベットの大文字や小文字も検索文字列として指定できます。

ポイント

FIND関数とは

=FIND(検索文字列,対象,開始位置)

意味:検索文字列を対象の中から検索し、開始位置(無ければ先頭)から何文字目か位置を表示します。

FIND関数は、検索したい文字が何文字目かを調べることができ、そして他の関数と組み合わせながら使うとさらに便利な関数になります。

FIND関数を使い文字の位置を調べてみよう!

今回は『社員名簿のメールアドレス』を使い解説します。

『@』は何文字目?
『@』は何文字目?

メールアドレスの『@』が、先頭文字から何文字目に位置しているかFIND関数を使い求めてみましょう。

  1. STEP

    FIND関数を入力する

    FIND関数の挿入
    FIND関数の挿入

    E3のセルに『=FIND(“@”,D3,1)』を入力し、Enterを押します。

    指定した検索文字列が『@』などの文字の場合は、文字の前後に【””】ダブルクォーテーションで囲んでね!

    Dr.オフィス

    Dr.オフィス

  2. STEP

    @の位置が返る

    『@』は5文字目
    『@』は5文字目

    『@』は先頭から数えて『5文字目』なので、『5』が表示されました。

  3. STEP

    オートフィルでコピーする

    オートフィルでコピー
    オートフィルでコピー

    E3のセルをオートフィルでコピーしましょう。

    すべての『@』が先頭から何文字目か調べることがとても簡単に出来ました。

    先頭から調べる場合には『=FIND(“@”,D3)』でもOK!開始位置の『1』を省略してもかまわないよ。

    『開始位置』の省略
    『開始位置』の省略
    Dr.オフィス

    Dr.オフィス

開始位置を指定してから文字の位置を調べるには?

開始位置を指定して文字の位置を調べてみましょう。

小文字『e』が何文字目か調べます。

  1. STEP

    開始位置を指定する

    開始位置の指定
    開始位置の指定

    今回、開始位置はF3セルの『5』を参照します。

  2. STEP

    FIND関数の入力

    開始位置位置を含むFIND関数の挿入
    開始位置位置を含むFIND関数の挿入

    E3セルに『=FIND(“e”,D3,$F$3)』を入力し、Enterを押しましょう。

  3. STEP

    開始位置を指定して【e】の位置を返す

    開始位置を参照した場合の『e』は?
    開始位置を参照した場合の『e』は?

    D3のメールアドレスの先頭から『5番目の文字』の位置より、『e』が先頭の文字から何文字目にあるかが分かります。

    yuta@exceldoctor.jpでは、【e】が6文字目にありました。

  4. STEP

    他のアドレスも何文字目か調べるには

    絶対参照
    絶対参照

    メールアドレスの先頭から『5番目の文字』の位置より、『e』が先頭の文字から何文字目にあるかを調べるための計算式は『=FIND(“e”,D3,$F$3)』になりました。

    この参照しているF3の『$』は絶対参照です。

    オートフィルでコピーしたいのでF3セルを動かさないように固定しています。

    絶対参照についてはこちら≫エクセルの絶対参照「F4」を参考にしてみてくださいね。

  5. STEP

    オートフィルでコピーする

    オートフィルでコピー
    オートフィルでコピー

    F3セルを固定した絶対参照の式をオートフィルでコピーしましょう。

  6. STEP

    他のアドレスも【e】が何文字目か分かる!

    開始位置
    開始位置

    D8のセルを見てみましょう。

    先頭から4文字目に『e』がありますが、これは検索対象外になります。

    開始位置が『5』文字目からなので、『e』の位置は『10文字目』と表示されています。

    開始位置を指定しても、数え始めるのは先頭文字からだよ!注意してね!

    Dr.オフィス

    Dr.オフィス

FIND関数とLEFT関数を組み合わせてみよう!

メールアドレスの『@』から前の部分を取り出してみましょう。

今回は【LEFT(レフト)関数】と組み合わせます。

LEFT関数は、文字列の先頭から指定された文字数分の文字列を表示してくれます。

LEFT関数とFIND関数
LEFT関数とFIND関数

E3のセルに『=LEFT(D3,FIND(“@”,D3)-1)』を入力しEnterを押しましょう。

『FIND』で『@』が先頭から何文字目にあるか探します。

@より前の部分
@より前の部分

『@』から前の部分【yuta】が取り出せました。

数式『=LEFT(D3,FIND(“@”,D3)-1)』の『-1』は『@』を含めないために入れているよ。
『-1』を入れないと『@』も含めてしまうんだよ。

Dr.オフィス

Dr.オフィス

LEFT関数についての詳しい解説はこちらエクセルで文字列を抽出するLEFT関数!を参考にしてみてくださいね。

FIND関数を複数使って文字を検索しよう

FIND関数とIFERROR関数を使って、複数の条件を指定して文字を検索しましょう。

今回は『都・道・府・県』が何文字目に入っているかを検索します。

数式に『都・道・府・県』を入れる方法

  1. STEP

    A列の住所から、『都・道・府・県』が何文字目に入っているかを調べる

    FIND関数とIFERROR関数を入力
    FIND関数とIFERROR関数を入力

    B2セルを選択し、『=IFERROR(FIND(“都”,A2),IFERROR(FIND(“道”,A2),IFERROR(FIND(“府”,A2),IFERROR(FIND(“県”,A2),0))))』を入力してEnterを押してください。

  2. STEP

    何文字目かが返る

    『3』が返る
    『3』が返る

    『北海道札幌市』の『道』が『3文字目』に入っていることが返りました。

  3. STEP

    オートフィルでコピーする

    オートフィルでコピーして他の住所も確認する
    オートフィルでコピーして他の住所も確認する

    他の県も確認するために、B2セルをオートフィルでコピーしましょう。

    それぞれの住所の『都・道・府・県』が何文字目に入っているかが分かりました。

数式に『都・道・府・県』の絶対参照を入れる方法

  1. STEP

    A列の住所から、『都・道・府・県』が何文字目に入っているかを調べる

    D列の検索条件を使用する
    D列の検索条件を使用する

    今回はD列の検索条件を使用します。

  2. STEP

    数式の入力

    絶対参照を使う
    絶対参照を使う

    B2セルを選択し、『=IFERROR(FIND($D$2,A2),IFERROR(FIND($D$3,A2),IFERROR(FIND($D$4,A2),IFERROR(FIND($D$5,A2),0))))』を入力してEnterを押してください。

  3. STEP

    オートフィルでコピーする

    オートフィルでコピーする
    オートフィルでコピーする

    『北海道札幌市』の『道』が『3文字目』に入っていることが返ったので、他の県もオートフィルでコピーします。

  4. STEP

    絶対参照を使って求めることができた

    何文字目か検索完了
    何文字目か検索完了

    D列の検索条件を使用して、『都・道・府・県』が何文字目に入っているかを調べることができました。

FIND関数で右から文字を検索するには

FIND関数で右から文字を検索したい時は、複数の関数と組み合わせて数式を作らなければいけません。

抽出したい部分
抽出したい部分

上のような文字列から最後の部分だけ抜き出したい時は、右側からの検索が便利です。

抽出を始める位置
抽出を始める位置

抜き出したい文字列の直前にある記号の位置を利用して、「この記号よりも右側を抽出する」といった内容の数式を作っていきます。

右から検索する詳しい方法については、こちら≫FIND関数で右側から文字を検索する方法の記事で解説していますので参考にしてみてください。

エクセルのFIND関数に関するQ&A

Q

エクセルのFIND関数の式って、どんなの?

A

【=FIND(検索文字列,対象,開始位置)】です。くわしくは、こちら≫文字の位置を調べるFIND関数を参考にしてみてください。

Q

FIND関数で『#VALUE!』のエラーが出たけど、どうして?

A

FIND関数で検索した結果がなかったので『#VALUE!』のエラーが出ています。
検索する文字列を見直してみましょう。

FIND関数ならいろんな文字の位置を調べれる!

FIND関数は、文字列の位置を調べることができる関数でした。

エクセルで文字列の位置を調べる時はFIND関数をぜひ使ってみてください。

では、FIND関数の簡単ステップをおさらいしましょう。

おさらい
  1. FIND関数に検索する文字の入力
  2. 検索する文字列を指定
  3. 検索する位置を指定(無ければ先頭から検索される)

目視で『先頭文字から何文字目に位置しているか』など、細かい作業もFIND関数があれば簡単に見つけることができます。

そして、他の関数を組み合わせることで、さらに便利な関数にもなりました。

FIND関数は『エクセル関数のレベルアップ』におすすめなので、活用してみてください。

関連記事