Excelで特定の文字より後ろを抽出|TEXTAFTER・MID・FINDの使い方

Excelで特定の文字より後ろを抽出|TEXTAFTER・MID・FINDの使い方

Excelで特定の文字より後ろを抽出するなら、Microsoft 365・Excel 2024ではTEXTAFTER関数が使えます。Excel 2021・2019・2016ではMID+FIND+LENを使います。区切り文字を結果に含めるかどうかも、数式で指定できます。

目次

特定の文字より後ろを取り出す基本式

A1が「商品コード:ABC123」の場合、全角コロン「:」より後ろのABC123を取り出す式です。

=TEXTAFTER(A1,":")

TEXTAFTERが使えない場合は次の式を使います。

=MID(A1,FIND(":",A1)+LEN(":"),LEN(A1))

FINDは区切り文字の開始位置、LEN(":")は区切りの文字数を求めます。その分だけ後ろへ進めて、MIDで末尾まで取り出します。区切りが複数文字でも対応できるよう、+1ではなく区切り文字数を足しています。

区切り文字をセルで指定する

A1に元の文字列、B1に区切り文字を入力する形です。C1などの空きセルへ入力します。

=MID(A1,FIND(B1,A1)+LEN(B1),LEN(A1))
A1:元の文字列B1:区切り結果
ABCDEFGCDEFG
12345674567
担当:田中担当:田中

B1は空白にせず、元の文字列に含まれる区切りを指定してください。半角「:」と全角「:」、半角スペースと全角スペースは別の文字です。

「特定の文字以降」に、その文字も含める場合

「ABCDEFG」のCを含めてCDEFGを返したいなら、開始位置をFINDの結果そのままにします。

=MID(A1,FIND(B1,A1),LEN(A1))

「より後ろ」は区切りを除外、「その文字から」は区切りを含める、と決めてから式を選ぶと取り違えを防げます。

最後の区切り文字より後ろを取り出す

A1が「東京-営業-田中」の場合、最後のハイフンより後ろの田中を返します。TEXTAFTERの第3引数に -1 を指定します。

=TEXTAFTER(A1,"-",-1)

最初の区切りからなら第3引数は省略、2つ目の区切りからなら2です。存在しない回数を指定すると#N/Aになります。

区切り文字がないときは空白にする

TEXTAFTERでは第6引数に見つからない場合の値を指定できます。

=TEXTAFTER(A1,":",1,0,0,"")

MID+FINDの場合は、区切りがなければFINDが#VALUE!になります。次の式ではエラー時に空白を返しますが、元セルの別のエラーも隠れるため、式が正しく動くことを確認してから使います。

=IFERROR(MID(A1,FIND(B1,A1)+LEN(B1),LEN(A1)),"")

2つの文字の間だけを取り出す

A1を元の文字列、B1を開始の区切り、C1を終了の区切りとします。開始位置をD1、終了位置をE1で確認し、F1で間の文字を取り出します。

D1: =FIND(B1,A1)+LEN(B1)
E1: =FIND(C1,A1,D1)
F1: =MID(A1,D1,E1-D1)

例としてA1=ABCDEFGHIJ、B1=C、C1=Fなら、D1は4、E1は6、結果は「DE」です。CもFも含みません。終了位置を開始位置より後ろから探すので、前方に同じ終了文字があっても取り違えにくくなります。

RIGHT関数を使う別の書き方

=RIGHT(A1,LEN(A1)-FIND(B1,A1)-LEN(B1)+1)

文字列全体の長さから「区切りの末尾までの長さ」を引いて、右から取り出します。MIDでもRIGHTでも結果は同じなので、読みやすい方を選べます。

1つのセルを分割したい・行ごと抜き出したい場合

カンマなどで複数の項目へ分ける場合はTEXTSPLITでカンマ区切りを縦に分割する方法へ。条件の文字を含む行全体が必要なら特定の文字を含む行の抽出へ進んでください。今回の式はセル内の文字を切り出す方法です。

仕様の確認:Microsoft公式・TEXTAFTER関数

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

この記事を書いた人

コメント

コメントする

目次