【Excel】特定の文字列を抽出する方法~FIND関数使ってみよう~

資格・学び

昨日は基本的なLEFT関数、RIGHT関数、MID関数をご紹介しました。文字数が固定の場合はこちらをご覧ください。

今回は文字数が変動する場合の方法をご紹介したいと思います。

技あり!!抽出したい文字列が変動する場合

抽出した文字列が必ずしも同じ文字数とは限りませんよね。

例として、メールアドレスで説明します。

@の前までをB列に抜き出したいと思います。@までが5文字だったり3文字だったり、固定されてないのでLEFT関数、RIGHT関数、MID関数が使えません。

この場合はFIND関数を使いましょう。

FIND関数

まずはFIND関数がどういうものか、説明したいと思います。

FIND関数は指定した文字列を検索し、その文字列が最初に現れる位置を左から数えた数字を返します。

使ってみましょう。では検索文字列を@として、FIND関数を入力します。

2行目をみてみると@はabcdeの次なので6文字目となります。

FIND関数を使って@より前の文字を抽出してみましょう。(左から特定の文字まで)

いよいよFIND関数を使って抽出したい文字列を抜き出してみましょう。

今回は@より前の文字列をB列に抽出します。

LEFT関数だけだと=LEFT(A2,?)左から何文字抽出すればいいかわからない。ということで

LEFT(A2,FIND(“@”,A2)-1)  A2セルの左からA2セルの@までの文字列から1文字引いた(@を省く)文字列を抽出。

これで@より前の文字列が抽出できました。

じゃ、@より後の文字列を抽出するにはどうすればいいの?と思いますよね。

ここから少しずつ難しくなっていきます。

右から検索文字までの文字列を抽出する方法

関数を組み合わせたら何通りかやり方はあるのですが、できるだけ簡単な関数で抽出したいと思います。せっかくFIND関数も紹介したことですし、FIND関数も使って簡単に抽出してみましょう。

ここで登場するのはLEN関数です。

LEN関数

LEN関数とは文字列の文字数を返す関数です。

このセルに何文字入力されているかがわかります。

B2セルに=LEN(A2)と入力してみたところ15という数字が返されました。

A2セルを目視で数えてみてください。15文字入力されてますよね。

FIND関数とLEN関数を使って右から特定文字まで抽出

では、このLEN関数を使って、どうやって右から@の後ろまでの文字列を抽出するか。

全体から@までの文字列をひけばいいんです。

って言われても・・・ですよね。

とりあえずやってみました。

右から@の後ろまでだから・・・=RIGHT(B2,?)。RIGHT関数だけでは抽出できませんんね。

RIGHT(A2,LEN(A2)-FIND(“@”,A2)

A2セルの右から・・・A2セルの全体文字数(15)ひくA2セルの左から@までの文字数(6)

15-6で右から9文字をB2へ抽出。

最後に、特定文字から特定文字の間を抽出する方法をご紹介します。

こちらも出来るだけ簡単なやり方で説明したいと思います。

特定文字から特定文字の間を抽出してみよう

MID関数だけでは固定の文字列でしか使えませんが、MID関数とFIND関数を使って文字数が変動する場合でも抽出できるようにします。

=MID(A2,?,?)

=MID(A2,FIND(“@”,A2)+1,FIND(“.”,A2)-1FIND(“@”,A2))

A2セルの左から@までの文字数+1(5)から左から.までの文字数引く1(7)引く左から@までの文字数(4)までの文字列をB2に抽出したい。

はじめは関数が並んでて意味がわからない!!ってなるかもしれませんが、一つづつの関数を理解していけば、それの組み合わせだということがわかります。

あまり難しく考えず、一つづつ理解して使っていきましょう。

参考書籍をご紹介させていただきます。

Excel 最強の教科書[完全版]??すぐに使えて、一生役立つ「成果を生み出す」超エクセル仕事術

新品価格
¥1,738から
(2020/10/27 21:04時点)

コメント

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