使用变长主题和退货的中间和左侧函数的Excel – 分割内容

在Excel中使用左侧和中间函数将Outlook格式的联系人分割。

使用[]显示单元格的内容…

A1 = [fname lname <email@domain.com>;]

我需要将这些内容分成以下几部分,除去空格,<,;等等。请记住,不能使用字符数字的静态开始或长度,因为所有这些名称,电子邮件,域都是可变的。

B1 = [fname]

C1 = [lname]

D1 = [email@domain.com]

我在C1上遇到问题。 这里是我使用的function。

对于B1 = [= LEFT(A1,FIND(“”,A1)-1)] – 这只是第一个名字

对于C1 = [= MID(A1,FIND(“”,A1)+ 1,FIND(“”,A1))] – 这不起作用,它切断更长的姓

对于D1 = [= MID(A1,FIND(“<”,A1)+ 1,SEARCH(“>”,A1,1)+1)] – 这适用于拉出电子邮件地址。

任何人都可以帮助C1的这个function? 我无法弄清楚如何阻止它缩短一些姓氏。 我试图设置字符的数量,以find下一个开放的空间“”之后的姓氏和“<”,但它不起作用。

让我知道。 谢谢!

这是一种方法

=REPLACE(TRIM(LEFT(A1,FIND("<",A1)-1)),1,FIND(" ",A1),"")

….你的D1配方真的有用吗? 是不是也抓住了>; 最后? 试试这个版本

=REPLACE(TRIM(LEFT(A1,FIND(">",A1)-1)),1,FIND("<",A1)+1,"")

FIND的完整语法是FIND( substring, string, [start_position] )

所以你需要find第二个空白来获得LName的长度 – 类似

 C1 = [=MID(A1,FIND(" ",A1)+1,FIND(" ",A1,FIND(" ",A1)+1))]