
我有一個包含 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 來幫助自動化這些操作,讓您指定拆分位置(例如輸入2
第二個空格),或使用一組公式來在不同的分隔符號處拆分並選擇公式)。然後該公式解析該名稱。