Google Sheets регулярно извлекает первую букву каждого слова - PullRequest
2 голосов
/ 19 мая 2019

как отобразить первую букву каждого слова в, скажем, ячейке A1:

Пример:

A1 = Foo bar

A1 = Foo

в первом примере я хочу отобразить «Fb»

во втором примере, я хочу видеть «F»

Если A1 = пусто, я надеваюне хочу ничего показывать

Я пробовал это:

=REGEXEXTRACT(A1;"^.")

, который показывает только первую букву

Ответы [ 2 ]

3 голосов
/ 19 мая 2019

Как насчет этого?Пожалуйста, подумайте об этом как об одном из нескольких ответов.

Модифицированная формула:

=IF(A1="","",JOIN("",ARRAYFORMULA(REGEXEXTRACT(SPLIT(A1," "),"\b[\w]"))))
  1. Когда ячейка "A1" пуста и не пуста, "" и первыйбуквы каждого слова ставятся соответственно.
  2. Разделить значение на каждое слово, используя SPLIT.
  3. Получить первую букву из каждого слова, используя REGEXEXTRACT и ARRAYFORMULA.
    • Использовалось регулярное выражение \b[\w].
  4. Соедините каждый массив, используя JOIN.

Результат:

enter image description here

Ссылки:

Если это не тот результат, который вам нужен, я приношу свои извинения.

Добавлено:

В качестве другого используется LEFT вместо REGEXEXTRACT.

Модифицированная формула:

=IF(A1="","",JOIN("",ARRAYFORMULA(LEFT(SPLIT(A1," ")))))

Ссылка:

0 голосов
/ 19 мая 2019

истинная формула массива будет:

=ARRAYFORMULA(IF(LEN(A1:A); 
 SUBSTITUTE(TRANSPOSE(QUERY(TRANSPOSE(IFERROR(REGEXEXTRACT(SPLIT(A1:A; " "); 
 "\b[\w]"))); ; 999^99)); " "; ); ))

0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...