我有一个奇怪的情况,我正在努力解决。
我有一个不同格式的名字串列。我想要做的就是在单个字母上添加一个句点,因为它是中间名首字母。
我努力了:
=IF(LEN(A2)=1,A2&". ",IF(A2="","",A2&" "))
这有效,但会遗漏带有“&”和另一个名称的实体。所以在 A2 中,结果是 Michael F. & Jane J 而不是 Michael F. & Jane J。
=SUBSTITUTE(SUBSTITUTE(TRIM(A2)," &",". &")&".","..",".")
在具有单个名称且没有中间名首字母或单元格中没有名称或填充中间名的情况下,这会遇到错误。
有什么建议?文本到列也有效。我可以将它们分开,然后在所有四列上运行上述公式,然后连接,但这是一个低效的程序。
谢谢!
uj5u.com热心网友回复:
在B2
,公式复制下来:
=SUBSTITUTE(SUBSTITUTE(A2," &",". &")&".","..",".")
编辑 :
如果你的源资料最后一段后有空格,尝试添加一个trim()去掉最后一个空格,公式变成>>
=SUBSTITUTE(SUBSTITUTE(TRIM(A2)," &",". &")&".","..",".")
uj5u.com热心网友回复:
有点牵强,但使用 Excel Microsoft365,使用LET()
:
公式B2
:
=LET(X,FILTERXML("<t><s>"&SUBSTITUTE(SUBSTITUTE(A2,"&","&")," ","</s><s>")&"</s></t>","//s"),TEXTJOIN(" ",,IF(LEN(X)=1,IF(X<>"&",X&".",X),X)))
0 评论