リテラアップダウンロード

ExcelのFIND関数の使い方|文字列の何文字目にあるか調べる方法

ExcelのFIND関数の使い方

Excel(エクセル)のFIND関数の使い方を紹介します。住所から県名を取り出したり、ファイル名を一括で変更したりなど文字列データを扱う時に役に立つ関数です。

FIND関数の基本である、文字列の何文字目にあるか調べる方法から、他の関数を組み合わせた実践的な使い方まで紹介していますので参考にしてください。

FIND関数とは

Excel(エクセル)のFIND関数とは、調べたい文字が対象の文字列の何文字目にあるかを検索する関数です。

例えば「エクセル講座ー練習問題1」という文字列がある時、ハイフン「ー」がこの文字列内で何番目に位置するかを返してくれます。例ではハイフンは7番目にあるので「7」という数字が返ってきます。

FIND関数

この数字を知ることが目的であることは少なく、この数字を使って対象の文字列から一部の文字を取り出したり、編集したりすることが最終的な目的となります。

FIND関数とSEARCH関数の違い

FIND関数と似た関数にSEARCH関数というものがあります。異なる点は下記2点です。

  • 大文字と小文字が区別されるか
  • 検索文字列にワイルドカード(「*」・「?」)が使用できるか

FIND関数は大文字と小文字が区別されますが、SEARCH関数では区別されません。大文字と小文字が入り交じった文字列の検索結果を2つの関数で比べてみましょう。

FIND関数とSEARCH関数の違い

FIND関数は大文字と小文字を区別するため「e」の位置が「12」と返されますが、SEARCH関数は大文字と小文字を区別しないので「e」の位置は「5」となっています。大文字小文字の区別が必要な時はFIND関数を使いましょう。

またFIND関数はワイルドカードを使用することができない一方、SEARCH関数では使用することができます。

ワイルドカードは、検索文字列を部分的に指定したいときに使われる記号です。ワイルドカードを使った検索をしたい時にはSEARCH関数を使用するとよいでしょう。

FIND関数の書式

FIND関数の書式

FIND関数の書式は「=FIND(検索文字列,対象,[開始位置])」となっており、引数が3つあります。それぞれの引数の設定の仕方を詳しく解説していきますので見てみましょう。

  • 第1引数:検索文字列
  • 第2引数:対象
  • 第3引数:開始位置

第1引数:検索文字列

第1引数は検索したい文字を指定します。例えば「あ」の文字の位置を検索したい時は、第1引数に「”あ”」と書きます。ダブルクォーテーション「”」で囲むのを忘れないようにしましょう。

第2引数:対象

第2引数には、検索したい文字がある対象の文字列を指定します。文字列のあるセルをセル参照で指定することも可能です。対象のセルを左クリックで選択して自動入力しましょう。

第3引数:開始位置

第3引数は「対象」で指定した文字列の中で、何文字目から探すのかを指定します。

この引数は省略可能で、省略すると自動的に「1(文字列の最初の文字)」を指定したことになります。

FIND関数の使い方

Excel(エクセル)のFIND関数の使い方を具体例を用いながら解説します。ここで紹介する基本的な使い方を身に着け、より高度なテキスト編集に応用できるよう練習しましょう。

  • 特定の文字が文字列の何文字目にあるか調べる
  • 空白が文字列のどの位置にあるか調べる
  • 2つ目の文字がどの位置にあるか調べる

特定の文字が文字列の何文字目にあるか調べる

まずは一番基本的なFIND関数の使い方を解説します。任意の文字が、対象の文字列の何文字目にあるかを探索してみましょう。

例として、画像のようにテキストが入ったセルを用意します。適当なセルに探したい文字や、その文字が何文字目かを表示させる欄も作成しておきましょう。

特定の文字が文字列の何文字目にあるか調べる

次にFIND関数を入力します。ここでは、「か」という文字がB2セルのテキスト内で何番目に来るのか知りたいので「=FIND(B4,B2)」というように入力します。第1引数で直接文字を指定する場合はダブルクォーテーション「”」で囲むのを忘れないようにしましょう。

特定の文字が文字列の何文字目にあるか調べる

関数を入力し終えたら「Enter」キーを押しましょう。例では6番目に「か」が来るので「6」表示されました。

特定の文字が文字列の何文字目にあるか調べる

空白が文字列のどの位置にあるか調べる

次に空白が文字列のどの位置にあるか調べてみましょう。空白も文字と同じようにFIND関数で取り扱うことができます。どのように指定するのか見てみましょう。

まず先ほどと同様に、テキストが入ったセルと、空白が何文字目にあるか表示させる欄を作成しておきましょう。

空白が文字列のどの位置にあるか調べる

次にFIND関数を入力します。空白を指定するには、第1引数にスペースで空白を入力してダブルクォーテーション「”」で囲みましょう。

この時、検索したい空白が全角か半角か正確に把握しておくことが重要です。「=FIND(“ ”,B3)」または「=FIND(“ ”,B3)」となります。

空白が文字列のどの位置にあるか調べる

関数を入力し終えたら「Enter」キーを押しましょう。これで空白の位置を求めることができます。

空白が文字列のどの位置にあるか調べる

2つ目の文字がどの位置にあるか調べる

文字列内で、2回目に出てくる文字の位置を調べる方法を紹介します。

同じ文字が2回以上でてくる文字列を用意しましょう。例では2回目に出てくるハイフン「ー」の位置を調べます。

2つ目の文字がどの位置にあるか調べる

今回は1回目と2回目の位置を調べる必要があるので、FIND関数を入力する欄を2つ作成しておきます。まずは1つ目のハイフンの位置表示させたい欄に「=FIND(“ー”,B3)」と入力します。

2つ目の文字がどの位置にあるか調べる

次に2回目の方の欄に1回目の結果を用いて「=FIND(“ー”,B3,C3+1)」と入力します。これで1回目に出てくる位置の次の文字から探索を開始させることができます。

2つ目の文字がどの位置にあるか調べる

関数を入力し終えたら「Enter」キーを押しましょう。これで2つ目の文字の位置を調べることができます。

2つ目の文字がどの位置にあるか調べる

慣れたら「=FIND(“ー”, B3, FIND(“ー”, B3)+1)」というように1つの関数にまとめてしまっても構いません。

FIND関数でエラーが出る原因・対処方法

Excel(エクセル)のFIND関数では、1つ目の引数で指定された文字が見つからなかった場合「#VALUE!」エラーが表示されます。

「#VALUE!」エラーが発生した場合には、第1引数で指定した文字列を確認してみましょう。特に間違えやすいのが全角と半角、大文字と小文字の指定違いです。ミスを減らすために、探したい文字列をコピー&ペーストするのも一つの手でしょう。

FIND関数でエラーが出る原因

またIFERROR関数を用いれば、予め「#VALUE!」エラーを回避させることも可能です。FIND関数に「=IFERROR(FIND(“ー”,B3),”検索文字列が見つかりません”)」とIFERROR関数を組み合わせましょう。

このような構造にしておけば、指定した文字列が見つからなかった場合にエラーが表示されなくなります。「#VALUE!」エラーだと何が原因でエラーが出たのか分かりにくいですが、この方法であればエクセルに慣れていない人でもエラーの原因に気付きやすくなるためおすすめです。

FIND関数でエラーが出る原因

FIND関数にLEFT関数を組み合わせた活用方法

FIND関数と他の関数を組み合わせると、より実践的な活用が可能になります。まずはLEFT関数と組み合わせた応用方法を解説します。

LEFT関数は、指定した文字数の文字をセル内の左から抽出してくれる関数です。例えば「=LEFT(“あいうえお”,3)」とすると「あいうえお」というテキストの左から3文字を抜き出して「あいう」と表示してくれます。

FIND関数にLEFT関数を組み合わせ

これらの関数を組み合わせると、特定の文字より左側の文字列を抜き出すことができます。例えば「〇〇県~」と書かれた住所の「〇〇県」の部分のみ取り出してみましょう。

FIND関数にLEFT関数を組み合わせ

住所の隣の列に、抽出した文字列を表示させる欄を作成しましょう。先頭セルに「=LEFT(B3,FIND(“県”,B3))」と入力します。

FIND関数にLEFT関数を組み合わせ

残りのセルもオートフィルで入力しましょう。これで住所から「〇〇県」という都道府県名のみを抜き出すことができました。

FIND関数にLEFT関数を組み合わせ

「〇〇県」の「県」という文字を抜かして「〇〇」のみ抽出したい場合は、「=LEN(B3,FIND(“県”,B3)-1)」といったように足し算や引き算をすることで前後の文字を入れたり外したりできます。

FIND関数にMID関数とLEN関数を組み合わせた活用方法

今度はFIND関数にMID関数とLEN関数を組み合わせて、ある文字以降の文字列を取り出す方法を紹介します。

MID関数とは、文字列の指定した位置から何文字かを取り出す関数です。第1引数で指定した文字列を対象に、第2引数の「開始位置」から第3引数の「文字数」分を取り出すことができます。

LEN関数とは、文字列の全ての文字数を求める関数です。引数で指定した文字列の文字数を全角や半角関係なしに返します。

FIND関数にMID関数とLEN関数を組み合わせると、例えば住所のセルから市区町村以下を取り出すことが可能になります。具体的なやり方をみてみましょう。

住所の隣の列に「都道府県(C列)」と「抽出したい文字列の文字数(D列)」、「抽出したい文字列(E列)」を表示させる欄を作成します。「都道府県」の列には先ほど紹介したLEFT関数を用いて「〇〇県」まで表示させておきましょう。

FIND関数にMID関数とLEN関数を組み合わせ

「住所セルの文字数-都道府県セルの文字数」を求めるため、「抽出したい文字列の文字数」列の先頭セルに「=LEN(B3)-LEN(C3)」と入力します。

FIND関数にMID関数とLEN関数を組み合わせ

「抽出したい文字列」の先頭セルに「=MID(B3,LEN(C3)+1,D3)」と入力します。

FIND関数にMID関数とLEN関数を組み合わせ

D列とE列の残りのセルもオートフィルで入力しましょう。これで指定した文字より後の文字列を抜き出すことができました。

FIND関数にMID関数とLEN関数を組み合わせ

ExcelのFIND関数についておさらい

Excel(エクセル)のFIND関数は、特定の文字列の位置をセル内で探索できる関数でした。単体で使う機会は少ないかもしれませんが、この記事で紹介したようにLEFT関数やMID関数、LEN関数と組み合わせると住所から一部の文字列を抜き出したり変更したりする時に重宝します。

ファイル名やデータラベルを一括で変換したい時にも使えますので、やりたいことに合わせて使い方を工夫してみてください。

リテラアップアプリのご利用について、法人の方は下記フォームよりお問い合わせください。

(Excel,WordなどOffice製品やPC関連の技術的な質問にはお答えできかねます。ご了承ご了承ください。)