Excel:FIND関数の使い方と応用/SEARCH関数との違いは?

〈景品表示法に基づく表記〉当サイトはアフィリエイトプログラムを利用しています。

Excel:FIND関数の使い方と応用/SEARCH関数との違いは?

✅ この記事で解決できる悩み

  • FIND関数の使い方を知りたい
  • FIND関数の応用例を見たい
  • SEARCH関数との違いを知りたい

✅ 記事の信頼性

profile


<想定機種>
この記事は、下記機種を想定して書いています。

💻 Windows、Mac
💻 ノート、デスクトップ、一体型、自作パソコン


【Excel】FIND関数の使い方とSEARCH関数との違い

【Excel】FIND関数の使い方とSEARCH関数との違い

まずは、FIND関数の基本的な使い方を押さえていきましょう。

以下の3つに分けて解説していきます。

FIND関数の決まり

この記事では関数の挿入を使い、関数を入れていきます。
直接関数を入力する方法、関数の挿入を使う方法の違いは以下の記事で解説しています。
»関数の入れ方【Excel/直接入力と関数の挿入の使い方】

ExcelのFIND関とは?

FIND関数には、上記のような決まりがあります。
『文字列が他の文字列内で最初に現れる位置を検索します。大文字と小文字は区別されます。』

指定するものは、以下の3つです。

  • 検索文字列
  • 対象
  • 開始位置

なお、開始位置は省略することもできます。

FIND関数という名前の通り、何かを見つける関数です。
では、何を見つけるのかというと、探している文字(文字列)が対象の文字列の中で何文字目に出てくるかを見つけてくれます。

それでは、実例を見ながら、詳しく解説していきます。

FIND関数の使い方

FIND関数の使い方①

ここでは、上の表を使って解説していきます。

まずは、A2の『東京都新宿区西新宿1-1-1』の中で『区』という文字が何文字目に出てくるか探してみましょう。

実際に数えてみるとわかりますが、6文字目に出てくるはずですね。
それでは、これをFIND関数を使って求めてみます。

指定するものは、以下の3つでした。

  • 検索文字列
  • 対象
  • 開始位置

『区』という文字を探してきたいので、検索文字列は『区』になります。
対象とは、『どこから探しますか?』ということなので、ここでは『A2』となります。

開始位置ですが、これは『何文字目以降から探しますか?』ということです。

今は先頭から探してみましょう。
また、先頭から探す場合は、開始位置を省略することができます

FIND関数の使い方②

実際に入力すると、上記のようになります。

開始位置は省略していますので、空白で問題ありません。

FIND関数の使い方③

このように、6と表示されました。
つまり、『区』という文字が6文字目に出てくるということです。

ちゃんと、数えたときと同じ答えになりましたね。

次は、A3の中で小文字の『o』が何文字目に出てくるか求めてみましょう。

FIND関数の使い方④

検索文字列は『o』、対象は『A3』となります。

これを実際に入力したものが、上記画像です。

FIND関数の使い方⑤

5と表示されました。

実際に数えてみるとわかりますが、小文字の『o』は5文字目に出てきますね。

FIND関数は、『文字列が他の文字列内で最初に現れる位置を検索します。大文字と小文字は区別されます。』という決まりでした。

注目してもらいたいのは、大文字と小文字は区別されますという部分です。

わかりやすいように、次は大文字の『O』が何文字目に出てくるか求めてみましょう。

FIND関数の使い方⑥

A4の中から大文字の『O』を探してきたいので、検索文字列は『O』、対象はA4です。

これを入力したのが、上記画像です。
数式の結果に表示されている通り、11となりました。

小文字と大文字が区別されるため、小文字の『o』は飛ばされ、大文字の『O』が何文字目に出てきたか帰ってきたわけですね。

また、スペースも1文字としてカウントされていますので、注意しましょう。

次は、5文字目以降で小文字の『c』を探してみましょう。

FIND関数の使い方⑦

検索文字列は、小文字の『c』、対象はA5です。
また、5文字目以降で探したいので、開始位置は5となります。

これを入力したのが、上記画像です。
数式の結果に表示されている通り、15となりました。

この答えは、対象の文字列の中で何文字目か、です。
開始位置から何文字目かではありませんので、注意が必要です。

開始位置を5としたので、3文字目のcは無視されています。

FIND関数の使い方⑧

3〜5行目に、入力した関数と答えを記載しましたので、どういった違いがあるのか、しっかり把握しておきましょう。

FIND関数とSEARCH関数の違いは?

FIND関数と似た関数に、SEARCH関数というものがあります。

SEARCH関数の決まりは、下記の通りです。

ExcelのSEARCH関数とは?

『文字列が最初に現れる位置の文字番号を返します。大文字、小文字は区別されません。』

指定するものは以下の3つで、FIND関数と同じです。

  • 検索文字列
  • 対象
  • 開始位置

まず、1つ目の違いは、大文字、小文字を区別するかどうかです。

FIND関数は大文字、小文字は区別されます。
SEARCH関数は大文字、小文字が区別されません。

また、ワイルドカード文字を使用できるかどうかの違いもあります。

FIND関数ではワイルドカード文字を使用できませんが、SEARCH関数では使用できます。

ワイルドカード文字の詳しい解説は、下記記事をご覧ください。
»【Excel】ワイルドカード文字の種類と使い方を解説

【Excel】FIND関数の応用

【Excel】FIND関数の応用

ここからは、FIND関数の応用例を見てみましょう。

FIND関数は単体で使うことはあまりなく、IF関数と組み合わせて使うことが多いです。
この記事でもIF関数を使った例を見ていきますので、しっかりマスターしましょう。

それでは、以下の順番で解説していきます。

住所から都道府県より下を抜き出してみよう

ここでは、IF関数、MID関数を使います。
それぞれの関数の詳しい説明は、下記記事をご覧ください。

MID関数の記事で同じ例を扱っており、先にお読みいただくことにより、より理解が深まります。

【Excel】FIND関数の応用①

上記画像のように住所が並んでいる表から、都道府県より下の住所を抜き出してみましょう。

基本的には、MID関数を使い、県よりあとの文字列を抜き出せば良いです。
ただ、3文字の都道府県と4文字の都道府県があるため、単純にMID関数を入れただけではうまくいきません。

そこで、IF関数を使い、都道府県の文字数によって式を分けていきます。
分け方は、以下の通りです。

3文字の都道府県の場合、4文字目以降を抜き出します。
それに対し、4文字の都道府県の場合は、5文字目以降を抜き出します。

3文字目に焦点を当てると、都道府県のうちどの文字が来るかわかりませんので、4文字目が県かどうかで考えてみましょう。

つまり、4文字目が県だったら、5文字目以降を抜き出し、4文字目が県でなければ(=3文字の都道府県)、4文字目を抜き出すという式を作っていきます。

IF関数に当てはめて書くと、以下のようになります。

IF(4文字目が県,5文字目以降を抜き出す,4文字目以降を抜き出す)

✔ 4文字目が県

FIND関数で県を探し、その答えが4であれば、4文字の都道府県とわかりますね。

1行目を例に考えてみると、以下のようになります。

FIND(“県”,A1)=4

開始位置を先頭にしているため、省略しています。

✔ 5文字目以降を抜き出す

住所が何文字かわからないため、抜き出す文字数を100とします。
つまり、A1に対し、5文字目から100文字抜き出すという式を作ります。

MID(A1,5,100)

✔ 4文字目以降を抜き出す

上記と同じように、式を作ります。
違いは、開始位置が4になる点です。

MID(A1,4,100)

これでIF関数に入れる式ができましたので、実際に入れてみましょう。

IF(FIND(“県”,A1)=4,MID(A1,5,100),MID(A1,4,100))

上記を入力し、下までコピーすれば完成です。

【Excel】FIND関数の応用③

東京都の場合は県が出てきませんので、2行目以降に注目です。
ご覧のように、件名を除いた住所を取り出すことができました。

都道府県の文字数が変わっても、うまく抜き出せていますね。

まとめ:FIND関数の使い方と応用

この記事では、FIND関数の使い方と応用例を解説しました。

FIND関数単体では、何文字目かという数字しか返ってきません。
応用例で見たように、IF関数と組み合わせることにより、使える幅がグッと広がります。

この記事の内容を押さえておけば、かなり応用できます。
ぜひ何度も読み、使えるようにしましょう。

関数のみになりますが、順序立てて学べるように、記事を書きました。
このブログで勉強される方は、下記記事をどうぞ。
»【Excel】関数の教科書【基礎〜上級:17記事で解説】

Excelついて、『基本的な内容を広く知りたい』という方は、下記の書籍がおすすめです。
»FOM出版 よくわかるExcelシリーズ

タイトルとURLをコピーしました