在Excel中,假设
A2 = Last_Name1 First_Name1 MI1;#8;#Last_Name2 First_Name2 MI2;#102
在B2中,我想查看列出的第一个人的姓氏,名字和中间名。所以我用这个:
=MID(A2,1,FIND(";",A2,1)-1)
结果:Last_Name1 First_Name1 MI1
在C2中,我需要写什么来查看列出的第二个人的姓氏,名字和中间名。
结果:Last_Name2 First_Name2 MI2
我的想法是从右边开始,在第二个“#”和“;”之间获取所有内容。 (#Last_Name2 First_Name2 MI2;)。
感谢任何帮助。
答案 0 :(得分:2)
在单元格C2中,输入以下公式:
=LEFT(MID(A2,2+FIND("|",SUBSTITUTE(A2,";","|",2)),99),LEN(MID(A2,2+FIND("|",SUBSTITUTE(A2,";","|",2)),99))-5)
由于@pnuts概念,我认为这个版本更好
=LEFT(MID(A2,1+FIND("|",SUBSTITUTE(A2,"#","|",2)),99),FIND(";",MID(A2,1+FIND("|",SUBSTITUTE(A2,"#","|",2)),99))-1)
答案 1 :(得分:1)
请尝试:
=LEFT(MID(A2,1+FIND("#",A2)+FIND("#",MID(A2,FIND("#",A2)+1,99)),99),FIND(";",MID(A2,1+FIND("#",A2)+FIND("#",MID(A2,FIND("#",A2)+1,99)),99))-1)
答案 2 :(得分:0)
这项工作适用于所有情况(即无论最后和名字组合的长度如何):
=MID(LEFT($A2,
-1+FIND("|",SUBSTITUTE($A2,";","|",3))),
1+FIND("|",SUBSTITUTE($A2,"#","|",2)),LEN($A2))