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

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

FIND関数かSEARCH関数が使えるよ。
- 文字列の位置を検索するにはFIND関数
- SEARCH関数との違いは、大文字小文字を区別するか、ワイルドカードが使えるかどうか
- =FIND(検索したい文字列,位置を知りたいセル,左から何番目から探すか)
【Excel・エクセル】文字列の位置を検索できる、FIND関数
FIND関数は、指定した文字列がセルや文字列の何番目にあるのかが分かる関数です。
これ単体というより、LEFT関数やRIGHT関数などと組み合わせて使うことが多いですね。


よく似た関数に「SEARCH関数」があるよ。
FIND関数とSEARCH関数の違いは、以下です。
FIND関数 | SEARCH関数 | |
---|---|---|
大文字と小文字を区別 | 〇 | × |
ワイルドカード | × | 〇 |

状況によって使い分けると、良さそうだね。
ちなみに読み方は、「ファインド関数」です。
【Excel・エクセル】FIND関数の使い方
=FIND(検索文字列,対象,開始位置)
検索文字列 | この文字列は |
対象 | この中の何番目にありますか |
開始位置 | この位置から数えて(省略可) |

検索位置を省略すると「1」、つまり最初から数えるよ。
使い方は簡単。
「s」がセルC2の何番目にあるか知りたい場合「=FIND(“s",C2)」で求められます。
最初から数えたいので、開始位置は省略しています。


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

ちなみに検索文字列「" "」で、空白スペースの位置も分かるんよ。
FIND関数の使い方、同じ文字が複数ある場合
例えば「Microsoft Office」から「i」の位置を知りたいのですが、「M"i"crosoft Off"i"ce」と「i」は2つありますね。
この場合「=FIND(“i",C2)」では「2」となりました。
同じ文字列が複数ある場合、最初に見つかった方の位置を検索するようです。


いや、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関数の使い方、FIND関数は大文字と小文字を区別する
「Microsoft Office」から、Officeの「O」の位置を検索したいのですが、「o」は3つもありますね……

FIND関数は、大文字と小文字を区別するんよ。
そのためOfficeの「O」の位置は「=FIND(“O",C2)」で求められます。

逆に小文字の「o」では大文字の「O」は見つけられません。
検索文字列は大文字と小文字にご注意ください。

注意!ワイルドカードは使えない
何でもいいから文字があれば……といったときに使えるワイルドカードですが、FIND関数では使えません。
ワイルドカードを使いたい場合、SEARCH関数を使うといいですよ。
【Excel・エクセル】FIND関数とLEFT関数を組み合わせて文字列を抽出する
例えば住所から市までを抜き出したい場合、FIND関数とLEFT関数を組み合わせて使います。
LEFT関数の使い方は、以下の通り。
=LEFT(文字列,文字数)
文字列 | このセルの |
文字数 | 左から数えて何文字までを抽出して |

LEFT関数の文字数のところに、FIND関数を使うよ。
セルC2の住所から市までを抽出したい場合「=LEFT(C2,FIND(“市",C2))」とすればOKです。


LEFT関数で、FIND関数で出た「市」の位置(6)分、文字列を抽出したんだね。
他にもRIGHT関数やLEN関数など、文字数にかかわる関数と組み合わせれば、いろんな使い方ができますよ!
それでは、お疲れさまでした!
- 文字列の位置を検索するにはFIND関数
- SEARCH関数との違いは、大文字小文字を区別するか、ワイルドカードが使えるかどうか
- =FIND(検索したい文字列,位置を知りたいセル,左から何番目から探すか)
ディスカッション
コメント一覧
まだ、コメントがありません