Excel 2016使用多个空格分割字符串

时间:2018-10-13 23:37:49

标签: excel excel-formula

在Excel 2016中的两个单元格中有以下字符串

Joe Blogger joe.bloggs@testing.com 0198156374
Martin Son ms@hotmail.com 9847493933

我只想从每个单元中提取电子邮件地址,我正在努力寻找解决方案。

到目前为止,我已经设法使用= RIGHT删除了任一单元格中的名字

然后我复制并粘贴了单元格的值,并以为我会重复公式,但是它不起作用。我不断收到#VALUE错误。

我缺少什么/做错了什么?

我不能使用内置函数按固定长度进行拆分,因为拆分发生在每个单元格的不同位置,我有167个单元格。

2 个答案:

答案 0 :(得分:2)

此方法返回电子邮件地址,并假设它始终包含@,并与字符串的其余部分用空格分隔,以进行测试:

=TRIM(RIGHT(SUBSTITUTE(LEFT(TRIM($A1),FIND(" ",TRIM($A1),FIND("@",TRIM($A1)))-1)," ",REPT(" ",99)),99))
  • 它将查找@之后的第一个空格
  • 返回最后一个空格之前的所有内容
  • 然后返回最后一个剩余空间之后的所有内容,该空间将是@或电子邮件地址之前的空间

如果字符串中应该包含@的其他子字符串,或者电子邮件不受空格限制,则需要使用其他算法

上面的内容对电子邮件地址前面有多少个名称不敏感,只要至少有一个即可。

答案 1 :(得分:1)

尝试

=trim(mid(substitute(a2, " ", rept(" ", len(a2))), len(a2)*2, len(a2)))

仔细查看公式中的数学应该会发现,调整MID函数的起点和长度应该能够剥离信息的任何部分。

enter image description here

相关问题