我每天都会收到格式不一致的姓名列表,我需要将它们转换为姓氏、名字的格式。有时他们有中间名,有时他们有完整的中间名,有时他们有带引号的昵称。
我已经非常接近答案了,但我对带有空格的姓氏感到困惑。目前,我认为第一个空格之前的所有内容都是名字,最后一个空格之后的所有内容都是姓氏。请参阅下面的示例列表以及我希望它们是什么样子:
Martin Van Buren = Van Buren, Martin
John Quincy Adams = Adams, John
Martin Luther King = King, Martin
John Jay = Jay, John
F. Scott Fitzgerald = Fitzgerald, F.
W.E.B. Du Bois = Du Bois, W.E.B.
John F. Kennedy = Kennedy, John
答案1
不幸的是,没有规则可以让 Excel 知道“Van”和“Du”是姓氏的一部分,所以您需要列出它们。
我发现正则表达式对于这类任务非常方便。由于 Excel 默认不支持它们,因此您需要寻找一个插件。
现在我选择了这个免费的,在这里我可以使用这个公式(我以前最喜欢的公式不适用于 64 位 Excel):
=RegExpFind(B1,"((Van|Du) )?[^ ]+$")&", "&RegExpFind(B1,"^[^ ]+")
只要找到更多示例,即可完成列表。
怎么运行的: