【Excel・エクセル】FIND関数の使い方!文字列の位置を検索する

抽出,検索

もりの

この文字が、セルの何文字目にあるか知りたいんだ。

やまの

FIND関数かSEARCH関数が使えるよ。

今回のポイント
  • 文字列の位置を検索するにはFIND関数
  • SEARCH関数との違いは、大文字小文字を区別するか、ワイルドカードが使えるかどうか
  • =FIND(検索したい文字列,位置を知りたいセル,左から何番目から探すか)

スポンサーリンク

【Excel・エクセル】文字列の位置を検索できる、FIND関数

FIND関数は、指定した文字列がセルや文字列の何番目にあるのかが分かる関数です。

これ単体というより、LEFT関数やRIGHT関数などと組み合わせて使うことが多いですね。

FIND関数の例
文字列の位置が分かる
やまの

よく似た関数に「SEARCH関数」があるよ。

FIND関数とSEARCH関数の違いは、以下です。

FIND関数SEARCH関数
大文字と小文字を区別×
ワイルドカード×
もりの

状況によって使い分けると、良さそうだね。

ちなみに読み方は、「ファインド関数」です。

【Excel・エクセル】FIND関数の使い方

FIND関数の書き方

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

検索文字列この文字列は
対象この中の何番目にありますか
開始位置この位置から数えて(省略可)
やまの

検索位置を省略すると「1」、つまり最初から数えるよ。

使い方は簡単。

「s」がセルC2の何番目にあるか知りたい場合「=FIND(“s",C2)」で求められます。

最初から数えたいので、開始位置は省略しています。

FIND関数の例
FIND関数の使い方
もりの

「s」はセルC2の最初から数えて何番目にあるか、ってことだね。

やまの

ちなみに検索文字列「" "」で、空白スペースの位置も分かるんよ。

FIND関数の使い方、同じ文字が複数ある場合

例えば「Microsoft Office」から「i」の位置を知りたいのですが、「M"i"crosoft Off"i"ce」と「i」は2つありますね。

この場合「=FIND(“i",C2)」では「2」となりました。

同じ文字列が複数ある場合、最初に見つかった方の位置を検索するようです。

FIND関数で同じ文字列が複数ある場合
最初に見つかった方を教えてくれる
もりの

いや、2文字目とか関数使わんでも分かるわい!

やまの

そんな時は、開始文字を指定しよう。

さっきの式に、開始文字3を入れてみます。

=FIND(“i",C2,3)」では「14」となりました。

同じ文字列が複数ある場合は、開始位置をうまく使うと良さそうですね。

開始位置を指定した画像
開始位置をうまく使おう
もりの

「i」はセルC2の3文字目から数えて何番目にあるか、ってことだね。

FIND関数の使い方、検索文字列は複数文字列でもOK

「Microsoft Office」から、Officeの「c」の位置を検索したいのですが、なんかもういちいち開始位置数えるのも面倒!

やまの

そんな時は、検索文字列を2文字以上の複数文字列にしてみよう。

Officeの「c」はceと続くので、検索文字列も「ce」にしちゃえばいいのです!

=FIND(“ce",C2)」とすれば、Officeの「c」の位置が検索できました。

FIND関数の検索文字列を複数文字列にした画像
検索文字列は複数文字列でもOK
もりの

探したい文字列が先頭に来るように、検索文字列を指定するといいんだね。

コレを使えば、同じ文字列が続くこんなセルからでも、簡単に位置を割り出せます。

FIND関数の検索文字列を志布志市役所にした画像
市役所の志の場所

FIND関数の使い方、FIND関数は大文字と小文字を区別する

「Microsoft Office」から、Officeの「O」の位置を検索したいのですが、「o」は3つもありますね……

やまの

FIND関数は、大文字と小文字を区別するんよ。

そのためOfficeの「O」の位置は「=FIND(“O",C2)」で求められます。

FIND関数の開始文字を大文字で指定した場合
FIND関数なら大文字で検索できる

逆に小文字の「o」では大文字の「O」は見つけられません。

検索文字列は大文字と小文字にご注意ください。

FIND関数で小文字のoが見つからない画像
小文字のoはありませーん

注意!ワイルドカードは使えない

何でもいいから文字があれば……といったときに使えるワイルドカードですが、FIND関数では使えません。

ワイルドカードを使いたい場合、SEARCH関数を使うといいですよ。

【Excel・エクセル】FIND関数とLEFT関数を組み合わせて文字列を抽出する

例えば住所から市までを抜き出したい場合、FIND関数とLEFT関数を組み合わせて使います。

LEFT関数の使い方は、以下の通り。

LEFT関数の書き方

=LEFT(文字列,文字数)

文字列このセルの
文字数左から数えて何文字までを抽出して
やまの

LEFT関数の文字数のところに、FIND関数を使うよ。

セルC2の住所から市までを抽出したい場合「=LEFT(C2,FIND(“市",C2))」とすればOKです。

FIND関数とLEFT関数を組み合わせた式
FIND関数で出た数値までを抽出
もりの

LEFT関数で、FIND関数で出た「市」の位置(6)分、文字列を抽出したんだね。

他にもRIGHT関数やLEN関数など、文字数にかかわる関数と組み合わせれば、いろんな使い方ができますよ!
それでは、お疲れさまでした!

今回のおさらい
  • 文字列の位置を検索するにはFIND関数
  • SEARCH関数との違いは、大文字小文字を区別するか、ワイルドカードが使えるかどうか
  • =FIND(検索したい文字列,位置を知りたいセル,左から何番目から探すか)