文字列操作関数

エクセルのFIND関数とは?文字列検索の基本と応用テクニックを解説!

文字列操作関数

エクセルで特定の文字がどこにあるかを調べたいことはありませんか?そんな時に便利なのが「FIND関数」です。FIND関数を使うと、文字列の中で指定した文字の位置を取得できます。

本記事では、FIND関数の基本的な使い方から応用テクニック、エラー対処法まで詳しく解説します。

FIND関数(マッスルたけちゃん)

マッスルたけ
マッスルたけ
エクセルと筋肉は裏切らない!!!マッスルたけちゃんだ!ブランド服より割れた腹筋!よし、今日はFIND関数についてレクチャーするぞ!
まさる
まさる
FIND関数?なにかを検索する関数ですか?
マッスルたけ
マッスルたけ
おっ、いい線いってるぞ!FIND関数は、文字列の中で指定した文字がどの位置にあるかを教えてくれる関数だ!まさにデータの中から必要な情報を見つける、エクセル界のパーソナルトレーナーみたいなものだ!
まさる
まさる
トレーナーはちょっと違う気がしますが、なるほど!例えば『Excel関数』という文字列から、『関』が何文字目にあるかを調べられるってことですか?
マッスルたけ
マッスルたけ
その通り!例えば =FIND("関", "Excel関数") と入力すれば、『関』は6文字目にあるから、6って結果が返ってくるんだ!
まさる
まさる
でも、もし見つからなかったらどうなるんですか?
マッスルたけ
マッスルたけ
いい質問だ!もし検索した文字が見つからなかった場合は、エラー(#VALUE!)になる!だから、IFERROR関数と組み合わせるのがポイントだ!
まさる
まさる
なるほど、見つからない時の対策も考えないとですね!
マッスルたけ
マッスルたけ

そういうことだ!筋トレもデータ処理も、事前の準備が大切!FIND関数を使いこなして、エクセルマスターを目指すぞ!

FIND関数とは?(初心者向け解説)

FIND関数は、指定した文字が文字列のどこにあるかを数値で返す関数です。例えば、「エクセル関数」という文字列の中で「関」が何番目にあるかを知りたい場合に使用できます。

データ検索や文字列の分割、抽出に役立つ関数であり、事務職やデータ処理業務で重宝されます。

 

FIND関数の特徴

  • 指定した文字列の中から特定の文字の位置を数値で取得できる
  • 文字の検索は大文字・小文字を区別する
  • 検索開始位置を指定することも可能
  • 半角・全角の区別も可能
  • 見つからない場合はエラー(#VALUE!)を返す

FIND関数の構文(入力方法と引数)

FIND関数の構文を確認します。

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

FIND関数には引数(ひきすう)が3つあります。全角でも半角でも1文字として文字数を数えるので、開始位置も文字数で指定します。また、結果も左からの文字数でわかります。

【引数の説明】

引数名 説明
検索文字列 直接文字列を指定するか、セルを指定します。
※文字列を指定する場合は、「”」(ダブルクォーテーション)で囲みます。
注:ワイルドカードは使えません
対象 検索対象の文字列を指定します。
開始位置 対象の中で検索を開始する位置を指定します。省略すると「1」が入ります。
全角でも半角でも1文字として数えます。

No.4ですが、英語のEXCELは半角です。それ以外は全角となります。対象の「筋肉とEXCELは裏切らない」に検索文字列の「は」は、9文字目にあることがわかります。

FIND関数を実際に使う

FIND関数を単独で使うことは少ないかもしれないですが、ほかの関数と組み合わせることで色んな使い方ができます。

FIND関数とMID関数を使う場面

  • メールアドレスからアカウント名を取り出したい
  • メールアドレスからドメイン名を取り出したい
マッスルたけ
マッスルたけ

メールアドレスは、@(アットマーク)の左側に書かれたアカウント名と、@の右側に書かれたドメイン名で構成されている。

info@excelmuslcle.work
このメールアドレスで考えると、infoがアカウント名で、excelmuslcle.workがドメイン名だ。

マッスルたけ
マッスルたけ

MID関数については、こちらを参考にしてくれ!

【アカウント名の取得方法】

  1. 「@アットマーク」までの文字数がわかればMID関数を使ってアカウント名の取得ができます。
  2. 今回はFIND関数を使い、「@」が出てくる文字数を求めます。
  3. 「@」までは、FIND関数で求めた文字数から「-1」をすれば、「@」までの文字数が求まります。※FIND関数については後述
  4. あとは、MID関数でアカウント名を取り出します。

【ドメイン名の取得方法】

  1. アカウント名と同様に、「@アットマーク」までの文字数がわかればMID関数を使ってドメイン名の取得ができそうです。
  2. 今回はFIND関数を使い、「@」が出てくる文字数を求めます。
  3. 「@」以降を取り出したいので、FIND関数で求めた文字数から「+1」をすれば、開始位置が求まります。※FIND関数については後述
  4. あとは、MID関数でアカウント名を取り出します。
マッスルたけ
マッスルたけ

実際に関数を入力してみるとこんな感じだ!アカウント名とドメイン名を一気に取り出した

アカウント名:=MID(B2,1,FIND(“@”,B2,1)-1)
ドメイン名:=MID(B2,FIND(“@”,B2,1)+1,20)
マッスルたけ
マッスルたけ

指定した文字数を取り出した結果がこれだ!ほかの関数と組み合わせることで簡単にできた!

MID関数については、こちらを参考にしてください。
https://excelmuscle.work/mid

 

 

FIND関数の応用テクニック|仕事で役立つ活用法

応用テクニック①|MID関数との組み合わせ

FIND関数をMID関数と組み合わせることで、特定の文字以降の部分を取得できます。

例:「ID-1234」から「1234」だけを取得。

=MID(A2, FIND(“-“, A2) + 1, LEN(A2) – FIND(“-“, A2))

 

応用テクニック②|IFERROR関数でエラー回避

検索文字が見つからなかった場合、FIND関数は #VALUE! エラーを返します。それを回避するには、IFERROR関数を組み合わせます。

=IFERROR(FIND(“X”, A2), “見つかりません”)

 

FIND関数 よくある質問(FAQ)

よくある質問(FAQ)をまとめました。

  • Q1: FIND関数でエラーが出るのはなぜですか?
  • A1: 指定した文字が見つからない場合、#VALUE! エラーになります。IFERROR関数を活用しましょう。
  • Q2: FIND関数とSEARCH関数の違いは何ですか?
  • A2: FIND関数は大文字・小文字を区別しますが、SEARCH関数は区別しません。
  • Q3: FIND関数を数値データに使えますか?
  • A3: FIND関数は文字列専用です。数値を検索する場合は、TEXT関数と組み合わせてください。
  • Q4: FIND関数を使って改行を含むデータを処理できますか?
  • A4: 可能ですが、CLEAN関数を併用すると改行を削除できます。

 

FIND関数のまとめ

FIND関数は、エクセルで特定の文字の位置を取得するための便利な関数です。

 

【ポイント整理】

  • FIND関数は文字列の中で指定した文字の位置を取得できる
  • 大文字・小文字を区別するため、注意が必要
  • 見つからない場合は #VALUE! エラーが出るのでIFERROR関数と併用すると便利
  • MID関数やLEFT関数と組み合わせると、より柔軟なデータ処理が可能

 

マッスルたけ
マッスルたけ

FIND関数も他の関数と同様に、複数の関数と組み合わせて使うと色んなことが出来るようになる。なんでも使い方次第だ!

 

コメント

タイトルとURLをコピーしました