Google Sheets regextract提取每个单词的第一个字母
如何显示单元格A1中每个单词的第一个字母: 例如: A1=富巴 A1=Foo 在第一个示例中,我想显示“Fb” 在第二个例子中,我想看到“F” 如果A1=空,我不想显示任何内容 我试过这个:Google Sheets regextract提取每个单词的第一个字母,regex,google-sheets,array-formulas,google-sheets-formula,google-sheets-query,Regex,Google Sheets,Array Formulas,Google Sheets Formula,Google Sheets Query,如何显示单元格A1中每个单词的第一个字母: 例如: A1=富巴 A1=Foo 在第一个示例中,我想显示“Fb” 在第二个例子中,我想看到“F” 如果A1=空,我不想显示任何内容 我试过这个: =REGEXEXTRACT(A1;"^.") 只显示第一个字母这个怎么样?请把这看作是几个答案中的一个 修正公式: 当单元格“A1”为空且不为空时,“和每个单词的第一个字母分别被放入 使用Split将值拆分为每个单词 使用REGEXEXTRACT和ARRAYFORMULA从每个单词中检
=REGEXEXTRACT(A1;"^.")
只显示第一个字母这个怎么样?请把这看作是几个答案中的一个 修正公式:
“
和每个单词的第一个字母分别被放入李>
Split
将值拆分为每个单词REGEXEXTRACT
和ARRAYFORMULA
从每个单词中检索第一个字母。
- 使用了
的正则表达式\b[\w]
Join
连接每个数组LEFT
而不是REGEXEXTRACT
修正公式:
参考:
- 真正的数组公式是:
=ARRAYFORMULA(IF(LEN(A1:A);
SUBSTITUTE(TRANSPOSE(QUERY(TRANSPOSE(IFERROR(REGEXEXTRACT(SPLIT(A1:A; " ");
"\b[\w]"))); ; 999^99)); " "; ); ))
是的,两者都有效,我使用第一个示例。我以前没有使用过拆分和联接,我需要研究一下,它非常方便。坦克abunch@Ralph谢谢你的回复。我很高兴你的问题解决了。当值被拆分为
SPLIT
时,该值是一个数组。所以我使用了ARRAYFORMULA
。
=IF(A1="","",JOIN("",ARRAYFORMULA(LEFT(SPLIT(A1," ")))))
=ARRAYFORMULA(IF(LEN(A1:A);
SUBSTITUTE(TRANSPOSE(QUERY(TRANSPOSE(IFERROR(REGEXEXTRACT(SPLIT(A1:A; " ");
"\b[\w]"))); ; 999^99)); " "; ); ))