関数

エクセル【FIND関数】文字列から文字の位置を調べる方法!

タイトル
エクセル初心者
エクセル初心者
社員のメールアドレスの『@』の位置を何番目か調べたいんだけど、そんなことできる?できれば『@』から前の部分も取り出したいな。
Dr.オフィス
Dr.オフィス
どちらも出来ますよ。まず、文字の位置を調べる【FIND関数】を解説するね! 取り出す作業は他の関数と組み合わせるとできるよ!

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

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

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

簡単3ステップ

①FIND関数に検索する文字の入力
②検索する文字列を指定
③検索する位置を指定(無ければ先頭から検索される)

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

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

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

文字の位置を調べるFIND関数

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

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

FIND関数とは

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

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

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

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

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

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

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

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

↑E3のセルに

=FIND(“@”,D3,1)

を入力しましょう。

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

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

↑『5』が表示されました。

『@』は先頭から数えて『5文字目』ですね。

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

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

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

Dr.オフィス
Dr.オフィス
先頭から調べる場合には
=FIND(“@”,D3)
でもOKだよ!
開始位置の『1』を省略してもかまいませんよ。

『開始位置』の省略

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

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

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

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

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

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

↑E3のセルに

=FIND(“e”,D3,$F$3)

を入力しましょう。

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

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

絶対参照絶対参照

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

オートフィルでコピーした下の式もF3のセルから参照しなければなりません。

なので、参照を動かさないように固定しています。

絶対参照についてはこちら【エクセルのショートカットキー】数式に絶対参照を設定する「F4」を参考にしてみてくださいね。

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

↑オートフィルでコピーしましょう。

開始位置開始位置

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

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

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

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

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

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

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

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

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

↑E3のセルに

=LEFT(D3,FIND(“@”,D3)-1)

を入力しましょう。

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

『@』が何文字目か分かったら、そこから『-1』します。

『-1』をしないと、『@』も含めてしまいます。

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

↑『@』から前の部分が取り出せています。

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

タイトル
エクセルで文字列を抽出することができる関数を簡単解説!!エクセルで文字列を抽出することが出来る関数を紹介します。関数名が【LEFT関数:左】【RIGHT関数:右】【MID関数:中間】というように、名前通りの場所から文字列の抽出をすることができます。とても簡単で覚えやすいです。エクセルでさまざまな文字列の抽出ができる3個の関数をぜひ使ってみてください。...

まとめ

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

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

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

ABOUT ME
Dr.オフィス
Dr.オフィス
エクセルの使い方や応用法を日々研究しています。 初心者から上級者までわかりやすく解説していきます。 エクセルについてわからないことや気になることなどございましたら是非、コメントやお問い合わせからご質問ください。