✅ この記事で解決できる悩み
- FIND関数の使い方を知りたい
- FIND関数の応用例を見たい
- SEARCH関数との違いを知りたい
✅ 記事の信頼性
<想定機種>
この記事は、下記機種を想定して書いています。
💻 Windows、Mac
💻 ノート、デスクトップ、一体型、自作パソコン
【Excel】FIND関数の使い方とSEARCH関数との違い
まずは、FIND関数の基本的な使い方を押さえていきましょう。
以下の3つに分けて解説していきます。
FIND関数の決まり
FIND関数には、上記のような決まりがあります。
『文字列が他の文字列内で最初に現れる位置を検索します。大文字と小文字は区別されます。』
指定するものは、以下の3つです。
- 検索文字列
- 対象
- 開始位置
なお、開始位置は省略することもできます。
FIND関数という名前の通り、何かを見つける関数です。
では、何を見つけるのかというと、探している文字(文字列)が対象の文字列の中で何文字目に出てくるかを見つけてくれます。
それでは、実例を見ながら、詳しく解説していきます。
FIND関数の使い方
ここでは、上の表を使って解説していきます。
まずは、A2の『東京都新宿区西新宿1-1-1』の中で『区』という文字が何文字目に出てくるか探してみましょう。
実際に数えてみるとわかりますが、6文字目に出てくるはずですね。
それでは、これをFIND関数を使って求めてみます。
指定するものは、以下の3つでした。
- 検索文字列
- 対象
- 開始位置
『区』という文字を探してきたいので、検索文字列は『区』になります。
対象とは、『どこから探しますか?』ということなので、ここでは『A2』となります。
開始位置ですが、これは『何文字目以降から探しますか?』ということです。
今は先頭から探してみましょう。
また、先頭から探す場合は、開始位置を省略することができます。
実際に入力すると、上記のようになります。
開始位置は省略していますので、空白で問題ありません。
このように、6と表示されました。
つまり、『区』という文字が6文字目に出てくるということです。
ちゃんと、数えたときと同じ答えになりましたね。
次は、A3の中で小文字の『o』が何文字目に出てくるか求めてみましょう。
検索文字列は『o』、対象は『A3』となります。
これを実際に入力したものが、上記画像です。
5と表示されました。
実際に数えてみるとわかりますが、小文字の『o』は5文字目に出てきますね。
FIND関数は、『文字列が他の文字列内で最初に現れる位置を検索します。大文字と小文字は区別されます。』という決まりでした。
注目してもらいたいのは、大文字と小文字は区別されますという部分です。
わかりやすいように、次は大文字の『O』が何文字目に出てくるか求めてみましょう。
A4の中から大文字の『O』を探してきたいので、検索文字列は『O』、対象はA4です。
これを入力したのが、上記画像です。
数式の結果に表示されている通り、11となりました。
小文字と大文字が区別されるため、小文字の『o』は飛ばされ、大文字の『O』が何文字目に出てきたか帰ってきたわけですね。
また、スペースも1文字としてカウントされていますので、注意しましょう。
次は、5文字目以降で小文字の『c』を探してみましょう。
検索文字列は、小文字の『c』、対象はA5です。
また、5文字目以降で探したいので、開始位置は5となります。
これを入力したのが、上記画像です。
数式の結果に表示されている通り、15となりました。
この答えは、対象の文字列の中で何文字目か、です。
開始位置から何文字目かではありませんので、注意が必要です。
開始位置を5としたので、3文字目のcは無視されています。
3〜5行目に、入力した関数と答えを記載しましたので、どういった違いがあるのか、しっかり把握しておきましょう。
FIND関数とSEARCH関数の違いは?
FIND関数と似た関数に、SEARCH関数というものがあります。
SEARCH関数の決まりは、下記の通りです。
『文字列が最初に現れる位置の文字番号を返します。大文字、小文字は区別されません。』
指定するものは以下の3つで、FIND関数と同じです。
- 検索文字列
- 対象
- 開始位置
まず、1つ目の違いは、大文字、小文字を区別するかどうかです。
SEARCH関数は大文字、小文字が区別されません。
また、ワイルドカード文字を使用できるかどうかの違いもあります。
FIND関数ではワイルドカード文字を使用できませんが、SEARCH関数では使用できます。
ワイルドカード文字の詳しい解説は、下記記事をご覧ください。
»【Excel】ワイルドカード文字の種類と使い方を解説
【Excel】FIND関数の応用
ここからは、FIND関数の応用例を見てみましょう。
FIND関数は単体で使うことはあまりなく、IF関数と組み合わせて使うことが多いです。
この記事でもIF関数を使った例を見ていきますので、しっかりマスターしましょう。
それでは、以下の順番で解説していきます。
住所から都道府県より下を抜き出してみよう
ここでは、IF関数、MID関数を使います。
それぞれの関数の詳しい説明は、下記記事をご覧ください。
MID関数の記事で同じ例を扱っており、先にお読みいただくことにより、より理解が深まります。
上記画像のように住所が並んでいる表から、都道府県より下の住所を抜き出してみましょう。
基本的には、MID関数を使い、県よりあとの文字列を抜き出せば良いです。
ただ、3文字の都道府県と4文字の都道府県があるため、単純にMID関数を入れただけではうまくいきません。
そこで、IF関数を使い、都道府県の文字数によって式を分けていきます。
分け方は、以下の通りです。
それに対し、4文字の都道府県の場合は、5文字目以降を抜き出します。
3文字目に焦点を当てると、都道府県のうちどの文字が来るかわかりませんので、4文字目が県かどうかで考えてみましょう。
つまり、4文字目が県だったら、5文字目以降を抜き出し、4文字目が県でなければ(=3文字の都道府県)、4文字目を抜き出すという式を作っていきます。
IF関数に当てはめて書くと、以下のようになります。
✔ 4文字目が県
FIND関数で県を探し、その答えが4であれば、4文字の都道府県とわかりますね。
1行目を例に考えてみると、以下のようになります。
開始位置を先頭にしているため、省略しています。
✔ 5文字目以降を抜き出す
住所が何文字かわからないため、抜き出す文字数を100とします。
つまり、A1に対し、5文字目から100文字抜き出すという式を作ります。
✔ 4文字目以降を抜き出す
上記と同じように、式を作ります。
違いは、開始位置が4になる点です。
これでIF関数に入れる式ができましたので、実際に入れてみましょう。
上記を入力し、下までコピーすれば完成です。
東京都の場合は県が出てきませんので、2行目以降に注目です。
ご覧のように、件名を除いた住所を取り出すことができました。
都道府県の文字数が変わっても、うまく抜き出せていますね。
まとめ:FIND関数の使い方と応用
この記事では、FIND関数の使い方と応用例を解説しました。
FIND関数単体では、何文字目かという数字しか返ってきません。
応用例で見たように、IF関数と組み合わせることにより、使える幅がグッと広がります。
この記事の内容を押さえておけば、かなり応用できます。
ぜひ何度も読み、使えるようにしましょう。
このブログで勉強される方は、下記記事をどうぞ。
»【Excel】関数の教科書【基礎〜上級:17記事で解説】
Excelついて、『基本的な内容を広く知りたい』という方は、下記の書籍がおすすめです。
»FOM出版 よくわかるExcelシリーズ