Excelで指定した文字より後ろを取り出す方法

この記事は約2分で読めます。

やりたいこと

氏名から名前だけを取り出す

広告パラメータからutm_campaignに該当する部分だけを取り出す

メールアドレスの@より後ろ、ドメインだけを取り出す

商品コードの-よりうしろだけを取り出す

まれに発生する、指定した文字より後を取り出す作業、数か所だったら手入力でもいいのですが、30行を超えるときはウンザリしてしまいます。
数式で一発解決することなので、備忘録として記します。

数式を書き、オートフィル(セルの右下を引っ張り下まで伸ばす)を使うだけなので、かかる時間は1分未満です。
今までかかっていた時間が・・例えばマスタの整備で10分×10回、だとすると、ご休憩一回分の時間は節約できそうです。

数式(コピペ可)

取り出したい文字があるセル:A1
〇〇よりうしろの、○○:ぱぱぱ

=RIGHT(A1,LEN(A1)-(FIND(“ぱぱぱ”,A1)-1+len("ぱぱぱ")))

数式解説

Right関数:Right(参照するセル,文字数)
末尾から指定した番号まで取り出せる関数
Left関数の逆バージョン、当然全角も半角も1文字として数えます。

“ぱぱぱ”が後ろから何番目にあるかを判断するために、Find関数とlen関数を組み合わせます。

Len関数:len(参照するセル)
参照するセルの文字列の長さを、半角・全角共に1文字として数える関数
TD作成のときに使う、lenb関数が半角・全角を区別する関数です

 find関数:find(“探したい文字列”,参照するセル)
探したい文字が左から何個目にあるか、を明らかにします

len(指定したセル)-(find(“探したい文字列”,参照するセル)-1+LEN(“探したい文字列”))
 find(“探したい文字列”,参照するセル):指定した文字が左から何個目にあるか、
 len(指定したセル)-(find(“探したい文字列”,参照するセル)-1):指定した文字が右から何個目にあるか

指定した文字列=こんにちはぱぱぱありがとう のとき、
len(”こんにちはぱぱぱありがとう”)=13
find(“ぱぱぱ”,”こんにちはぱぱぱありがとう”)=6
なので、
13-(6-1+3)=5=ありがとう
となります