Comme le titre l'indique, étant donné une colonne d'un nombre arbitraire de mots de longueur arbitraire, vous voulez un seul ArrayFormula pour obtenir les premières lettres de tous les mots de ladite colonne.
J'ai essayé deux méthodes, vues dans l'exemple de feuille.
SPLIT
et ARRAYFORMULA
peut obtenir une cellule mais ne peut pas s'étendre dans la colonne. REGEXEXTRACT
, peut obtenir les 2 premières initiales et s'étendre vers le bas Mais est-il possible d'obtenir un nombre arbitraire de mots pour toute la colonne en utilisant ArrayFormula
?
Est-il possible d'utiliser REGEXEXTRACT
pour renvoyer les premières lettres de nombreux mots?
Je voudrais également placer un "." après les initiales. Exemple pour transformer Ed Williams en E. W.?
3 Réponses :
=ARRAYFORMULA(TRANSPOSE(QUERY(TRANSPOSE(IF(LEN(A1:A), IFERROR(REGEXEXTRACT(SPLIT(A1:A, " "), "."))&".", )),,999^99)))
Merci pour les commentaires!
=ARRAYFORMULA(UPPER(REGEXREPLACE(A1:A6,"(\w)\S*\s*","$1. "))) Capture the first letter(\w) followed by non Space characters and space characters Replace everything with just the capture group \w($1) and period . . Convert it to UPPER case, if needed.