首页 > 解决方案 > Excel 2016 用多个空格分割字符串

问题描述

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

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

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

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

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

我错过了什么/做错了什么?

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

标签: excelexcel-formula

解决方案


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

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

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

以上对电子邮件地址前面有多少个名字不敏感,只要至少有一个。


推荐阅读