ExcelのFIND関数は、指定した文字列の位置を調べるのに便利な関数です。他の関数と組み合わせれば文字列の抜き出しや条件との一致・不一致を調べることもできます。
本記事では、FIND関数の使い方について解説します。便利な使い方や似た関数との違いについても解説するので、参考にしてみましょう。
ExcelのFIND関数の基本
FIND関数とは、指定された文字列を他の文字列の中で検索し、その文字列が最初に現れる位置を左端から数え、その番号を返す関数です。「見つけ出す」という意味である「FIND」が使われている通り、大量のデータから特定の文字を見つけたいときに便利です。
例えば、同じ「県」でも「沖縄県」という文字列のなかでは左から3番目に、「神奈川県」という文字列のなかでは左から4番目に位置します。同じ文字でも文字列中における位置が変動するときにFIND関数を使えば、指定の文字がある位置を正確に示せます。
FIND関数の書式
FIND関数は、「=FIND(検索文字列,対象,開始位置)」で表せます。「検索文字列」には、検索したい特定の文字を入力します。「対象」には、検索文字列が含まれているであろう範囲(または文字列)を指定しましょう。「開始位置」には、文字の検索を始める位置を指定します。
ただしセルの先頭から検索文字列を探す場合、開始位置の指定は省略できます。
関連記事:仕事に必携!VLOOKUP関数で劇的に効率アップする方法
ExcelでのFIND関数の典型的な使い方例
【1】「県」の位置を数字で示したい場合、元の住所情報のセル横に、FIND関数を適用するセルを用意します。FIND関数は「=FIND(“県”,A2,1)」と入力します。「A2セルの1文字目からカウントして何文字目に県の文字があるか」と問う意味になります。
【2】EnterキーFIND関数を反映させると、B2セルには「3」入力されます。「長崎県」の3文字目に「県」があると判断できます。同様のFIND関数を他のセルにも適用することで、セルごとの「県」の位置を特定できます。
空白位置を調べるFIND関数
【1】FIND関数を使ってセル内における空白位置を調べることも可能です。「=FIND(“ ”,A2,1)」で「A2セルの1文字目から何文字目に空白があるか」を数字で返します。FIND関数は全角スペースと半角スペースの区別をしているため、空白を検索したいときは全角と半角どちらの空白を検索したいか指定する必要があります。
【2】EnterキーでFIND関数を反映させると、空白位置が数字でわかります。
ExcelのFIND関数を利用した実践的な事例
ここでは、FIND関数と他の関数を併用する実践的な事例を紹介します。FIND関数だけでは難しいことも可能になるため、便利な使い方として活用しましょう。
住所データから都道府県名を抽出する方法
【1】住所データから都道府県を抽出する場合、「県」の位置を示したセルの隣に、「都道府県名」を示すセルを作成します。
【2】都道府県名はFIND関数とLEFT関数の組み合わせで抽出します。LEFT関数とは、文字列の先頭から文字数を指定して取り出す関数です。「=LEFT(文字列,文字数)」で示すことができ、「文字列」では文字列が入力されたセルを指定し、「文字数」では取り出す文字数を数値またはセルで指定します。今回は「=LEFT(A2,B2)」と入力し、A2セルの先頭3文字分を抜き出します。
【3】同様の関数をコピー&ペーストすることで、各セルの都道府県情報部分のみ抜き出せます。
条件を満たすデータを検索・抽出する方法
【1】IF関数を組み合わせることで、条件を満たすデータを検索・抽出することも可能です。IF関数とは、指定した条件を満たしている時と満たしていない時で異なる値を表示させることができる関数です。LEFT関数で出した都道府県名の横に、「長崎県かどうか」を示すセルを用意します。
【2】IF関数は「=IF(論理式,真の場合,偽の場合)」で示せます。「論理式」には指定条件を、「真の場合」には条件に合っていた場合に表示したい記号や文字を、「偽の場合」には条件に合わなかった場合に表示したい記号や文字を入力します。今回は「=IF(C2=”長崎県”,”〇”,”×”)」と入力し、C2に記載されている情報が長崎県であった場合は「〇」を、長崎県でなかった場合は「×」を示す関数にしています。
【3】C列が「長崎県」になっている部分にのみ〇が、それ以外の部分には「×」が表示されます。
よくある質問
ExcelのFIND関数に関して「よくある質問」を紹介します。
Excelの関数のFindとSearchの違いは?
Excelには、FIND関数だけでなくSEARCH関数も存在します。SEARCH関数とは、指定した文字列を他の文字列から検索し、最初に見つかった文字列の位置を返す関数です。どちらもテキストの文字列における文字(またはテキスト)の位置を検索する関数ですが、SEARCHでは大文字と小文字が区別されない点に注意しましょう。
一方、FIND関数は大文字と小文字を区別します。テキスト文字列の大文字と小文字が一致する必要がない場合はSEARCH関数を、一致させたい場合はFIND関数を使うのがおすすめです。
FIND関数とはどういう意味ですか?
FIND関数とは、指定された文字列を他の文字列の中で検索し、その文字列が最初に現れる位置を左端から数え、その番号を返す関数です。「=FIND(検索文字列,対象,開始位置)」で示されますが、セルの先頭から検索文字列を探す場合には開始位置の指定を省略できます。
FindとFindbの違いは何ですか?
FINDB関数とは、特定の文字列における検索したい「検索文字列」が左端から何番目に存在するのかをバイト数で表示する関数です。大文字と小文字が区別される点は同一ですが、FIND関数が先頭からの文字数を返すのに対し、FINDB関数は先頭からのバイト数を返します。
Excelにおける「バイト」とは半角英数字1文字分に相当するデータ量の単位であり、半角文字は1バイト、全角文字は2バイトとしてカウントされます。半角と全角が入り混じるような文字列における指定条件位置を調べたいときは、FINDB関数の方が便利です。
まとめ
FIND関数は、指定した文字列やテキストを探し出すのに便利な関数です。左から数えて何番目に指定文字列があるか数字で示してくれるので、他の関数と組み合わせればテキストの抽出や条件との一致(または不一致)を調べることもできます。
膨大なデータから指定する文字列があるか調べたいときや、位置を明確にしておきたいときに活用しましょう。
ExcelのFind関数に関する重要用語
用語 | 説明 |
FIND関数 | 指定された文字列を他の文字列の中で検索し、その文字列が最初に現れる位置を左端から数え、その番号を返す関数。 |
LEFT関数 | 文字列の先頭から文字数を指定して取り出す関数。 |
IF関数 | 指定した条件を満たしている時と満たしていない時で異なる値を表示させることができる関数。 |
真の場合 | 条件に合っていた場合のこと。関数においては、条件に合っていた場合に表示したい記号や文字を意味することが多い。 |
偽の場合 | 条件に合わなかった場合のこと。関数においては、条件に合わなかった場合に表示したい記号や文字を意味することが多い。 |
FINDB関数 | 特定の文字列における検索したい「検索文字列」が左端から何番目に存在するのかをバイト数で表示する関数。 |
バイト | 半角英数字1文字分に相当するデータ量の単位。半角文字は1バイト、全角文字は2バイトとしてカウントされる。 |