Excel 公式 - 针对姓氏由多部分组成的人的姓名分隔公式:

Excel 公式 - 针对姓氏由多部分组成的人的姓名分隔公式:

我有一份包含 20,000 多个姓名的列表。每个人的名字和姓氏都在“全名”一栏中。我需要为名字和姓氏创建两栏。

对于大多数人来说,这很容易做到。但对于某些人来说,这相当棘手。

以下是我处理过的一系列名字的几个例子。逐一查看会花上几周的时间。

关于如何处理这个问题的任何建议都会有帮助。

前任:

David Batte
Guy-Mael Jacobe de Naurois
Jean-Marc Lioutier
Thibaud Le Seguillon
Mrs. Manuela Junghaehnel
Hussain Mohammed Dipu Kabir

答案1

由于变化太多,没有单一的公式可以解决这个问题。但有一种方法可以大大减少任务量。

您可以编写一个公式来处理任何特定的姓名模式。如果您有许多姓名符合一个常见模式,那么这是值得投入时间的。如果您有一两个姓名符合一个模式,那么找到这些示例并创建公式所需的时间将比简单地手动解析它们更长。

实际的解决方案是使用多次传递来完成此操作。使用辅助列,每个列都有一个模式公式或几个可以轻松组合的模式公式。每组连续的辅助列都可以忽略已经解析的行。完成后,您可以使用将辅助列连接到单个结果列中,&因为它们将包含解析结果或空白。

使简单的部分自动化:

  • 单个名字和姓氏(基于中间的单个空格)
  • 带连字符的名称(带连字符的名称仍然是一个字符串,因此您也可以用空格进行拆分)
  • 常见名称前缀和后缀(如 le、de 等;查找类似 形式的模式_de_,其中下划线代表空格,并将其与相关名称链接起来)
  • 头衔(先生、女士、夫人、博士、老人、小孩等;查找它们并将它们与相关姓名联系起来,或者仅使用它们来查找姓名并忽略头衔)
  • 如果您只想要拆分第一个,则需要多个名称(查找第一个空白)
  • ETC。

第一轮公式会传播到每一行。对结果进行排序,使所有空白(未解析)行都位于顶部,或使用过滤器仅显示这些行。将下一个公式传播到下一个辅助列中的未解析行。对每个后续公式重复此操作。如果从最常见的模式开始,列表将迅速缩小,并且未解析的示例将被聚合以简化对下一个模式的扫描。

任何给定模式的公式都很简单。创建全面的公式集合超出了答案的范围,但您可以随时询问您无法弄清楚的特定模式,并且搜索网站或一般网络会找到涵盖常见模式的现有答案。

此过程将使未解决的百分比逐渐减小。扫描这些未解决的百分比,以查找可以在其他自动化轮次中轻松处理的共同点。最终,您将得到手动处理速度比编码更快的单例模式,并且这些模式的数量将更加易于管理。

您甚至可以使用公式或 VBA 来帮助自动化这些操作,这些公式或 VBA 允许您指定拆分的位置(例如输入2第二个空格),或者使用一组公式以不同的分隔符进行拆分,然后您选择公式)。然后公式会解析名称。

相关内容