web-dev-qa-db-fra.com

Comment regex extraire la partie alpha immédiatement après un trait de soulignement dans Google Sheets?

En utilisant les feuilles de Google, voici ce que j'essaie d'accomplir:

J'ai des données qui entrent comme ceci:

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

Je veux extraire uniquement la première partie alpha après le trait de soulignement ou, à défaut, la dernière partie alpha, ce qui entraîne:

GAM
SM
GAM
GAM
GAM
PA
SM
TPP

Comment puis-je retirer ceci?

EDIT: La réponse de @mit m'a permis de trouver l'essentiel, et j'ai compris la dernière partie par moi-même. La solution actuelle est:

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

J'attribuerai à Amit à moins que quelqu'un ait quelque chose de plus compact, élégant, etc.

1
Jonathan van Clute

Cela devrait fonctionner:

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