ExcelのFIND関数の使い方をご紹介!

ExcelのFIND関数の使い方をご紹介!

Microsoft Excelの関数の1つである「FIND関数」というものをご存知でしょうか?FIND関数を使用することで、文字列の中から特定の文字の位置を調べることができますよ。この記事では、ExcelのFIND関数の使い方をご紹介しています。


目次[非表示]

  1. ExcelのFIND関数とは?
  2. ExcelのFIND関数の使い方

ExcelのFIND関数とは?

Microsoft Excelで使用できる関数の一つに、「FIND関数」というものがあります。FIND関数とは、指定した検索文字列の中から特定の文字を「最初から何文字目に出現するのか」を検索することができる関数です。大文字と小文字の区別を行い、検索することも可能です。

1バイト文字(半角英数字)・2バイト文字(日本語)はどちらも1として扱われます。FIND関数は単体でも使用することができますが、他の関数と組み合わせて使用するシーンの多い関数です。LEFT関数と組み合わせて左から文字を抽出する・数式の中から対象の関数が何番目にあるのかを調べる…といった形で、汎用性が高い関数となっています。この記事では、ExcelのFIND関数の使い方をご紹介していきます。

ExcelのFIND関数の使い方

FIND関数の書式

それでは、ExcelのFIND関数の使い方を説明していきます。FIND関数の書式は「=FIND(検索文字列,対象,[開始位置])」となり、引数を3つ使用しています。

第1引数の「検索文字列」では、どういった文字の検索を行うのか指定を行います。例えばアドレス帳から「市」という文字を調べたい場合には検索文字列の引数に「"市"」と入力して指定します。

第2引数の「対象」は、検索対象の文字列をセル番地か文字列で指定します。「千葉県船橋市」という文字列の中から「市」の文字を検索する場合は「千葉県船橋市」が「対象」になるわけですね。

第3引数の「開始位置」は省略可能な引数です。開始位置を指定して、開始位置以降に初めて出てくる文字列が全体の何文字目なのかを検索することができます。「千葉県船橋市」という文字列で、「3文字目から数えて最初の"橋"が何文字目に登場するのか」を調べたい場合には開始位置を「3」と指定します。

FIND関数の使い方

D3セルに「=FIND("市",B3)」と入力
実際に、FIND関数を使用してみましょう。画像の例ではB3セルの「千葉県船橋市」から、「市」が文字列の最初から何文字目にあるのかFIND関数を用いて調べます。D3セルに「=FIND("市",B3)」と入力していきます。
結果が「3」と表示された
これでFIND関数を使用して、結果に「3」と表示させることができました。「市」の位置が6文字目なので、合っていますね。
結果が「2」と表示された
続いては、第3引数の「開始位置」を使ってみましょう。B3セルの「千葉県千葉市」の中から「葉」を検索するのですが、画像の例の通り開始位置を指定しなかった場合は結果に「2」と表示されます。
FIND関数の数式に「,3」を追加
ここでFIND関数の数式に「,3」を追加して開始位置を3にしてみましょう。するとB3の「県」が開始位置になるため、次の「葉」が出現する「5」・・・つまり5文字目が検索結果として出力されました。

複数条件を指定して検索する

FIND関数だけでは複数の検索文字の指定はできませんが、「IFERROR関数」を組み合わせることで複数条件を指定して検索することができます。ただし条件を指定するたびに数式が長くなるため、あまりにも多くの検索文字列を指定すると逆に使いにくくなってしまう点には注意しましょう。

B列に記載された住所のうち「都」・「道」・「府」・「県」の位置を調べる
画像の例では、B列に記載された住所のうち「都」・「道」・「府」・「県」の位置を調べていきます。
D3セルに「=IFERROR(FIND("道",B3),IFERROR(FIND("都",B3),IFERROR(FIND("府",B3),IFERROR(FIND("県",B3),))))」と入力
D3セルに「=IFERROR(FIND("道",B3),IFERROR(FIND("都",B3),IFERROR(FIND("府",B3),IFERROR(FIND("県",B3),))))」と入力することで、「都」・「道」・「府」・「県」のそれぞれ4つの文字を検索条件として指定しています。
数式を確定させ、オートフィルを適用させる
あとは数式を確定すれば、B3セルの「県」の位置が3行目なので結果に「3」と出力されたことが確認できました。この数式は、セルの右下に表示されているフィルハンドルを下方向に引っ張ってオートフィルをかけることで残りのセルにも適用することができますよ。

LEFT関数を併用して左からスペースの前までを抽出する

「LEFT関数」を使ってみよう
画像の例では、B列に「都道府県」と「市」の間に半角スペースが入力されているデータがありますね。この半角スペースで区切られる前の「都道府県」の部分だけを抽出したい場合は、「LEFT関数」を併用します。
D3セルに「=LEFT(B3,FIND(" ",B3,1))」と入力
D3セルに「=LEFT(B3,FIND(" ",B3,1))」と入力しています。検索文字列に半角スペースを指定して、開始位置の引数を「1」とすることで最初から数えさせています。
B列の住所から都道府県の部分のみを抽出できた
これで、B列の住所から都道府県の部分のみを抽出することができました。こちらの数式もオートフィル操作で、残りのセルに適用させることができますよ。

関連記事