Google Sheets regextract提取每个单词的第一个字母

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从每个单词中检

如何显示单元格A1中每个单词的第一个字母:

例如:

A1=富巴

A1=Foo

在第一个示例中,我想显示“Fb”

在第二个例子中,我想看到“F”

如果A1=空,我不想显示任何内容

我试过这个:

=REGEXEXTRACT(A1;"^.")

只显示第一个字母

这个怎么样?请把这看作是几个答案中的一个

修正公式:
  • 当单元格“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)); " "; ); ))