使用Excel,我如何分隔全名字符串,例如:
Juan I. Dela Cruz
Jojo Rambo
Unlce Sam
Mary Ann J. San Jose
输入'Firstname','Middle Initial'和'Lastname':
+----------+----------------+----------+
|Firstname | Middle Initial | Lastname |
+----------+----------------+----------+
|Juan | I. | Dela Cruz|
+----------+----------------+----------+
|Jojo | | Rambo |
+----------+----------------+----------+
|Uncle | | Sam |
+----------+----------------+----------+
|Mary Ann | J. | San Jose |
+----------+----------------+----------+
答案 0 :(得分:1)
在名字中:=IFERROR(LEFT(A1,FIND(".",A1)-3),LEFT(A1,FIND(" ",A1)-1))
在初始中=IFERROR(MID(A1,FIND(".",A1)-1,2),"")
中
在姓氏=IFERROR(RIGHT(A1,LEN(A1)-FIND(".",A1)-1),RIGHT(A1,LEN(A1)-FIND(" ",A1)))
每个复制到适合可能是一个开始(对于提供的示例)但是,由于@lurker提到的原因,这可能不是一个全面的解决方案。
答案 1 :(得分:0)
最初的想法是在数据选项卡下使用文本到列,空格作为分隔符。然而,之前的评论为确定你的名字提出了一个很好的观点。
如果您没有多个具有多个空格的名称实例,例如您的Mary Ann J. San Jose示例,那么文本到列将很有效 - 您可以手动组合您的异常值。
答案 2 :(得分:0)
经过几天的努力,这就是我想出的。这也适用于Excel 2000。似乎在我正在使用的格式为“姓氏”,“名字”“MI”的数据集上运行良好。
我的名字字段在B栏中,我的公式在H,I和J
中姓氏
=LEFT(B2,SEARCH(",",B2)-1)
名字
=IF(LEN(MID(B2,LEN(H2)+3,LEN(B2)-LEN(H2)))-LEN(SUBSTITUTE(MID(B2,LEN(H2)+3,LEN(B2)-LEN(H2))," ",""))>0,MID(B2,LEN(H2)+3,LEN(B2)-LEN(H2)-LEN(RIGHT(B2,LEN(B2)-FIND("|",SUBSTITUTE(B2," ","|",LEN(B2)-LEN(SUBSTITUTE(B2," ",""))))))-3),MID(B2,LEN(H2)+3,LEN(B2)-LEN(H2)))
Middle Inital
=IF(RIGHT(B2,1)=".",MID(B2,LEN(H2)+LEN(I2)+3,1),MID(B2,LEN(H2)+LEN(I2)+4,1))
到目前为止,这已经处理了我可以投入的任何数据。
祝你好运