文字列を検索する関数FIND、SEARCHと抽出関数【Excel】

アイキャッチ_文字列を検索する関数FINDとSEARCH
目次

文字列を検索して抽出する

特定の文字列の左または右を抽出します。
FIND関数やSEARCH関数を利用すれば、文字数の揃っていないリストでも抽出できます。

FIND関数で文字列を検索して抽出した表

文字列を検索する関数

今回使う関数は、FIND関数またはSEARCH関数です。

どう違うの?

検索する文字列の大文字と小文字を区別したい場合はFIND関数、区別しない場合はSEARCH関数で、それ以外は全く同じ扱いになります。

検索の関数は単体で使うことはほとんどなく、他の関数との組み合わせで使っていきます。

FIND関数

文字や記号を検索し、最初に現れる位置が何文字目か求める関数です。大文字と小文字を区別します。

=FIND(検索文字列,対象,[開始位置])
検索文字列:検索する文字や記号を””で括って指定 ※大文字と小文字を区別する
対象:検索したい文字を含むセルを指定
[開始位置]:省略すると最初から数え、指定するとその位置から数える

例:【A1】から「う」の文字を検索します。
=FIND(“う”,A1)
※最初の位置から数えるため「開始位置」は省略しています。
「う」は左から3文字目なので、結果は「3」となります。

FIND関数例

SEARCH関数

文字や記号を検索し、最初に現れる位置が何文字目か求める関数です。大文字と小文字は区別しません。

=SEARCH(検索文字列,対象,[開始位置])
検索文字列:検索する文字や記号を””で括って指定 ※大文字と小文字は区別しない
対象:検索したい文字を含むセルを指定
[開始位置]:省略すると最初から数え、指定するとその位置から数える

例:【A1】から「う」の文字を検索します。
=SEARCH(“う”,A1)
※最初の位置から数えるため「開始位置」は省略しています。
「う」は左から3文字目なので、結果は「3」となります。

SEARCH関数例

検索した文字まで抽出/LEFT・FIND

C列にB列(住所)の区を抜き出して表示します。

住所録の区まで表示したい表

「区」までの位置はセルによって違うので単に左から3文字…のような抽出はできません。

文字がバラバラで揃っていないリスト

FIND関数(SEARCH関数)とLEFT関数を組み合わせることで揃っていないリストでも抽出できます。
【C2】に入力する関数です。

【B2】の左から文字列を抽出します。
=LEFT(B2,)

抽出する文字数の部分「?」に入れたいのは区までの文字数です。
ここではFIND関数を組み合わせます(SEARCH関数でも可)。
=LEFT(B2,FIND(“区”,B2))

下までコピーしましょう。

LEFT関数とFIND関数で抽出した表

LEFT関数について詳しくはこちらの記事をご覧ください。

検索した文字を含めず抽出/LEFT・FIND・-

上記と同様に検索して左側を抽出します。
A列の氏名から、半角スペースの左側の姓の部分を抽出します。

FIND関数で記号より左を抽出したい表

FIND関数(SEARCH関数)とLEFT関数を組み合わせます。
【D2】に入力する関数です。

【A2】の左から文字列を抽出します。
=LEFT(A2,)

抽出する文字数の部分「?」に入れたいのは半角スペースまでの文字数です。
ここではFIND関数を組み合わせます(SEARCH関数でも可)。
“”(ダブルクォーテーション)の間に半角スペースを入力します。
=LEFT(A2,FIND(” “,A2))

この式では半角スペースも抽出されるよ!

今回は検索した半角スペースは不要なので、半角スペースの位置から一つ前までを抽出します。
検索した半角スペースの位置から1を引きます。
=LEFT(A2,FIND(” “,A2)-1)

下までコピーしましょう。

FIND関数でスペースより左を抽出完成

検索した文字から右を抽出/RIGHT・FIND・LEN

A列の氏名から、半角スペースの右側の名前の部分を抽出します。

FIND関数で記号より右を抽出したい表

FIND関数(SEARCH関数)とRIGHT関数を組み合わせてみます。
【E2】に入力する関数です。

【A2】の右から文字列を抽出します。
=RIGHT(A2,)

抽出する文字数の部分「?」に入れたいのは半角スペースから右の文字数です。
FIND関数で半角スペースの位置は分かりますが右側が何文字かは分かりません。

右側の数はどうすれば分かるの?

セルの中すべての文字数が分かると右側の文字数が分かります。

右側の文字数の数え方

全体の文字数を調べるにはLEN関数を使います。

LEN関数

文字列の長さ(文字数)を求める関数です。全角半角関係なく1文字は1と数えます。
※長さの「length」からきています。

=LEN(文字列)
文字列:文字を数えたいセルを指定

例:【A1】の文字を数えます。
=LEN(A1)
結果は「5」となります。

LEN関数使用例

では、先程の式に入れてみます。

【A2】の右から文字列を抽出します。
抽出するのは、全体の文字数からスペースの位置までを引いた数です。

=RIGHT(A2,LEN(A2)FIND(” “,A2))

下までコピーしましょう。

FIND関数でスペースより右を抽出完成

RIGHT関数について詳しくはこちらの記事をご覧ください。

スポンサーリンク

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次