web-dev-qa-db-ja.com

Googleスプレッドシートでアンダースコアの直後にアルファ部分を正規表現で抽出するにはどうすればよいですか?

Googleシートを使用して、私が達成しようとしていることは次のとおりです。

次のようなデータがあります。

xta_GAM-1a (61095)
xta_SM (61096)
xta_GAM2 (61156)
xta_GAM-1b (61161)
AO CPC ALL GAM
AO CPC ALL PA
AO CPC ALL SM
AO CPC ALL TPP

アンダースコアの後の最初のアルファ部分のみを抽出するか、最後のアルファ部分だけを抽出したいので、結果は次のようになります。

GAM
SM
GAM
GAM
GAM
PA
SM
TPP

これをどうやってやるの?

編集:@amitの答えは私にそこにほとんど道を譲り、私は最後の部分を自分で見つけました。現在のソリューションは次のとおりです。

=if(iserror(search("_",C1)),REGEXEXTRACT(C1,".* (.*)$"),iferror(REGEXEXTRACT(REGEXREPLACE(C1,".*_", ""),"[A-Z]+"),""))

誰かがもっとコンパクトでエレガントなものを持たない限り、私はアミットに授与します。

1

これは動作するはずです:

=REGEXEXTRACT(REGEXREPLACE(A1,".*_", ""),"[A-Z]+")
1
Amit Agarwal