1

使用左函数和中函数在 Excel 中拆分 Outlook 格式的联系人。

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

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

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

B1 = [名称]

C1 = [lname]

D1 = [email@domain.com]

我在使用 C1 时遇到问题。这是我正在使用的功能。

对于 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 提供该功能吗?我不知道如何阻止它把一些姓氏剪得太短。我正在尝试设置字符数以在姓氏之后和“<”之前找到下一个开放空间“”,但它不起作用。

让我知道。谢谢!

4

2 回答 2

1

这是一种方法

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

....你的 D1 公式真的有效吗?它不会也抓住 >; 在最后?试试这个版本

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

于 2013-06-07T21:19:07.873 回答
0

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

所以你需要找到第二个空白来获得 LName 的长度 - 比如

C1 = [=MID(A1,FIND(" ",A1)+1,FIND(" ",A1,FIND(" ",A1)+1))] 
于 2013-06-07T21:20:10.657 回答