【Excel・エクセル】特定の文字以降を抽出する!RIGHT関数×FIND関数

抽出

もりの

アドレスの@以降を取り出せないかな?

やまの

それなら、RIGHT関数とLEN関数、FIND関数を組み合わせるといいんよ。

今回のポイント
  • 特定の文字までを抽出するなら、LEFT関数とFIND関数を組み合わせる
  • =LEFT(対象のセル,LEN(対象のセル)-FIND(“特定の文字",対象のセル))
  • Excel365ならTEXTAFTER関数が簡単

スポンサーリンク

【Excel・エクセル】RIGHT関数とFIND関数をおさらい

画像のように、特定の文字までを抽出する場合、RIGHT関数とFIND関数、LEN関数を組み合わせます。

@以降を抽出した画像
@以降を抽出する
やまの

まずは3つの関数をおさらいしてみよう。

RIGHT関数は、文字列の左から任意の文字数までを抽出する関数です。

RIGHT関数の例
RIGHT関数の例

ちなみに特定の文字より前、特定の文字から特定の文字までを抽出する方法は、下記ページをご覧ください。

RIGHT関数の書き方

=RIGHT(文字列,文字数)

文字列このセルの
文字数右からこの文字数までを抽出してね

LEN関数では、セルの文字数が分かります。

LEN関数の例
LEN関数の例
LEN関数の書き方

=LEN(文字列)

LENこの文字列の文字数をカウントしてね
文字列この文字列(セル)

FIND関数は、指定した文字列が何番目にあるのかを調べる関数です。

FIND関数の例
文字列の位置が分かる
FIND関数の書き方

=FIND(検索文字列,対象,開始位置)

検索文字列この文字列は
対象この中の何番目にありますか
開始位置この位置から数えて(省略可)

【Excel・エクセル】特定の文字以降を抽出する方法

画像のように、@以降のドメイン部分を取り出したいとき。

全体の文字数(LEN)から「@」までの文字数(FIND関数)を引いて、RIGHT関数で抜き出せばOKです。

@以降を抽出した画像
@以降を抽出する
もりのの笑った顔
もりの

あれ、なんだか、難しそう!!

やまの

大丈夫、=RIGHT(A2,LEN(A2)-FIND(“@",A2))で求められるよ。

ステップ1

まずはRIGHT関数から書いていきます。

「=RIGHT(」まで入力してください。

「=RIGHT(」まで入力した画像
まずは関数名

ステップ2

次にどのセルから取り出したいか。

コレはA2ですね。セルA2をクリックして、「,(カンマ)」です。

取り出したいセルをクリックした画像
取り出したいセルをクリック

ステップ3

次は文字数、右から何文字まで抜き出したいかです。

特定の文字以降にするには、全体の文字数から@までの文字数を引けばいいですね。

全体の文字数はLEN関数を使います。

「LEN(」と入力します。

「LEN(」まで入力した画像
たのんだぞ、LEN関数

ステップ4

どのセルの文字数を知りたいかですが、これはもうセルA2ですね。

A2をクリックして、LEN関数は終わりなので「)」で閉じます。

LEN関数でセルA2を指定した画像
どのセルの文字数を知りたいか

ステップ5

全体の文字数から@までの文字数を引き算します。

引き算なので「-」、@までの文字数はFIND関数で求めるので「FIND(」まで入力します。

LEN-FINDした画像
特定の文字以降の場合、LEN-FIND

ステップ6

FIND関数の検索文字列は、特定の文字を指定します。

今回は@なので、「"@"」と入力します。

そして「,(カンマ)」

@を指定した画像
どの文字まで抽出したいか
もりの

文字列だから「""」で囲むんだね。

ステップ7

次に対象のセルを指定します。

コレはセルA2ですね。

セルA2をクリックして、「))」と入力します。

FIND関数が完了した画像
RIGHT関数で指定したセルと同じ
もりの

FIND関数終了の「)」と、RIGHT関数終了の「)」で2つなんだね。

完了!

無事、@以降の文字を抽出できました!

特定の文字以降を抽出できた画像
アドレスのドメイン部分だけ抽出できた

【Excel・エクセル】TEXTAFTER関数を使う(Excel365専用)

RIGHT関数、LEN関数、FIND関数でもできるんですが、Excel365をお使いなら、もっと簡単に特定の文字以降の抽出ができます。

やまの

TEXTAFTER関数を使うんよ。

TEXTAFTER関数の書き方

=TEXTAFTER(text,delimiter
,[instance_num],[match_mode],[match_end],[if_not_found])

もりの

何で英語?

text文字列この文字列(セル)から
delimiter区切り文字この文字より前を抽出して
instance_num番号区切り文字が複数ある場合、何番目か
省略したら1
match_mode検索モード0または省略:大文字と小文字を区別する
1:大文字と小文字を区別しない
match_end末尾の扱い0または省略:文字列の末尾の区切り文字は無視
1:文字列の末尾の区切り文字も含む
if_not_found既定値区切り文字がない場合、なんて表示するか
省略した場合「#N/A」になる
もりの

なんか難しそう。

やまの

最初の2つ以外は省略できるから、安心して。

アドレスの@以降の文字列を、TEXTAFTER関数で抽出してみましょう。

ステップ1

まずは関数名、「=TEXTAFTER(」と入力します。

「=TE」まで入力すると2番目に出るので、ダブルクリックか下矢印→Tabでもいいですよ。

TEXTAFTER関数を呼び出す画像
TEXTAFTERって長いよね

ステップ2

文字を抽出したいセルA2をクリックします。

続けて「,(カンマ)」です。

抽出したいセルをクリックした画像
抽出したいセルをクリック

ステップ3

続けてどの文字以降を抽出したいか。

今回は@以降なので「"@"」と入力します。

区切り文字を指定した画像
区切り文字は含まれない
やまの

文字を指定するから、「"」で囲むのを忘れないでね。

完成!

これで式は完成です。

エンターキーを押してオートフィルすれば、無事特定の文字以降を抜き出せました!

TEXTAFTER関数で抽出できた画像
TEXTAFTER関数で抽出できた

文字を抽出する関数はたくさんあるので、使いこなして自由自在に文字列を抽出しまくってください!
それでは、お疲れさまでした!

今回のおさらい
  • 特定の文字までを抽出するなら、LEFT関数とFIND関数を組み合わせる
  • =LEFT(対象のセル,LEN(対象のセル)-FIND(“特定の文字",対象のセル))
  • Excel365ならTEXTAFTER関数が簡単

数式・関数,Excel抽出

Posted by morino