在Google表格中从姓氏中分离出名字

时间:2019-03-19 01:16:23

标签: google-sheets

我想将一个单元格中的姓氏与任何及所有名字/中间名分开。

EG:

"Greg Smith"
"Andy H K Anderson"
"Tony & Amanda Ferguson"

成为

Greg          | Smith
Andy H K      | Anderson
Tony & Amanda | Ferguson

在这里或在任何其他站点上找不到答案。但是我确实设法编写了自己想分享的公式,以防其他人遇到同样的问题。也许其他人可以提供更好的版本。

名字:

=LEFT(A2,MINUS(LEN(A2),LEN(INDEX(SPLIT(A2," "),0,COUNTA(SPLIT(A2," "))))))

姓氏:

=INDEX(SPLIT(A2," "),0,COUNTA(SPLIT(A2," ")))

1 个答案:

答案 0 :(得分:0)

另一种方法(使用单个数组公式)是使用regexextract

=Arrayformula(if(len(A2:A), regexextract(A2:A, "(.+)\s([^\s]+)$"),))

第一个捕获组(。+)提取

  • 每个字符。+
  • 最后一个空格之前(以“贪婪”方式),

第二个捕获组([^ \ s] +)提取

  • 最后一个空格[^ \ s] +
  • 之后的所有内容
  • 到字符串$的末尾。