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

3 min 457 views
エクセル初心者

エクセル初心者

社員のメールアドレスの『@』の位置を何番目か調べたいんだけど、そんなことできる?できれば『@』から前の部分も取り出したいな。

どちらも出来ますよ。まず、文字の位置を調べる【FIND関数】を解説するね! 取り出す作業は他の関数と組み合わせるとできるよ!

Dr.オフィス

Dr.オフィス

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

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

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

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

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

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

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

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

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

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

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

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

ポイント

FIND関数とは

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

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

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

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

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

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

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

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

↑E3のセルに

=FIND(“@”,D3,1)

を入力しましょう。

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

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

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

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

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

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

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

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

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

Dr.オフィス

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

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

小文字『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関数についての詳しい解説はこちらエクセルで文字列を抽出することができる関数を簡単解説!!を参考にしてみてくださいね。

まとめ

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

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

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

ExcelドクターがおすすめするExcel本はこちら

カテゴリー:

20万人以上が参考にしたエクセルドクターで最も人気の記事

エクセルで家計簿を作る方法

ワード初心者

ワード初心者

エクセルで本格的な家計簿を作ってみたいんだけど詳しく解説してる本とかがないんだよね・・・
徹底的に解説してほしいな!

エクセルで本格家計簿の作り方なら私に任せて!過去に20万人以上のユーザーが参考にした解説記事を紹介するね♪

Dr.オフィス

Dr.オフィス

エクセルを少し使えるようになってきたら、本格的な家計簿を作ってみるのがとてもおすすめです。

収支シートの出来上がりイメージ
収支シートの出来上がりイメージ

基本機能をしっかりと使って作るから、エクセルをマスターするのにも家計簿づくりはぴったり!

20万人以上が参考にしたエクセルでの本格的な家計簿の作り方はこちら↓↓

【エクセル家計簿の作り方】月ごとに入力して合計を反映させれば見やすくなる!

関連記事