Skip to main content

從Excel中的全名提取名字、中間名和姓氏

Author: Xiaoyang Last Modified: 2025-05-12

假設您有一份用戶名單,現在您想將全名拆分為名字、中間名和姓氏,並分別放在不同的列中,如下圖所示。本文將介紹一些在Excel中處理此任務的公式。

doc-extract-first-last-name-1


從Excel中的全名提取或獲取名字

要從全名中提取或獲取名字,LEFT和SEARCH函數可以幫助您,通用語法是:

=LEFT(name,FIND(" ",name)-1)
  • name: 您想要提取名字的全名或單元格引用。

請將以下公式複製或輸入到您希望獲得結果的空白單元格中:

=LEFT(A2,SEARCH(" ",A2)-1)

然後,向下拖動填充柄以應用該公式到其他單元格,所有名字都已成功提取,如下圖所示:

doc-extract-first-last-name-2


公式解釋:

SEARCH(" ",A2)-1: 此SEARCH函數用於獲取第一個空格字符的位置,減去1表示所需的字符數比空格位置少1。這將得到結果:5。

LEFT(A2,SEARCH(" ",A2)-1)= LEFT("Jerry T. Stone",5): 此LEFT函數將從全名“Jerry T. Stone”中從左側提取由SEARCH函數返回的5個字符。


從Excel中的全名提取或獲取姓氏

要從全名中提取姓氏,RIGHT、LEN、FIND、LEN和SUBSTITUTE函數的組合可以幫到您。通用語法是:

=RIGHT(name,LEN(name)-FIND("*",SUBSTITUTE(name," ","*",LEN(name)-LEN(SUBSTITUTE(name," ","")))))
  • name: 您想要提取姓氏的全名或單元格引用。

請將以下公式複製或輸入到您希望獲取姓氏的空白單元格中:

=RIGHT(A2,LEN(A2)-FIND("*",SUBSTITUTE(A2," ","*",LEN(A2)-LEN(SUBSTITUTE(A2," ","")))))

然後,向下拖動填充柄以應用該公式到其他單元格,所有姓氏都已從全名中提取出來,如下圖所示:

doc-extract-first-last-name-3


公式解釋:

1. LEN(A2)-LEN(SUBSTITUTE(A2," ","")): 這部分用於獲取單元格A2中的空格字符數量。

  • LEN(A2): 此LEN函數返回單元格A2中字符的總數。它將返回:14。
  • SUBSTITUTE(A2," ",""): 此SUBSTITUTE函數用於將所有空格字符替換為無內容。您將得到這樣的結果:“JerryT.Stone”。
  • LEN(SUBSTITUTE(A2," ",""): 獲取單元格A2中沒有空格的全名的總長度。
  • LEN(A2)-LEN(SUBSTITUTE(A2,"-","")): 從全名的總長度中減去沒有空格的全名長度,以獲取空格的數量,這將得到2。

2. SUBSTITUTE(A2," ","*",LEN(A2)-LEN(SUBSTITUTE(A2," ","")))= SUBSTITUTE(A2," ","*",2): 此SUBSTITUTE函數用於將第一部分公式返回的最後一個空格替換為*字符。您將得到這樣的結果:“Jerry T.*Stone”。

3. FIND("*",SUBSTITUTE(A2," ","*",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))))= FIND("*","Jerry T.*Stone" ): FIND函數將返回由SUBSTITUTE函數返回的文本字符串中*字符的位置,您將得到數字9。

4. LEN(A2)-FIND("*",SUBSTITUTE(A2," ","*",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))))= LEN(A2)-9: 此部分公式將獲取最後一個空格後有多少字符。這將得到數字5。這將被識別為RIGHT函數中的num_chars參數。

5. RIGHT(A2,LEN(A2)-FIND("*",SUBSTITUTE(A2," ","*",LEN(A2)-LEN(SUBSTITUTE(A2," ","")))))=RIGHT(A2, 5): 最後,RIGHT函數用於從單元格A2中文本字符串的右側提取由步驟4公式返回的5個字符。


注意:如果您的全名列表僅包含名字和姓氏,您可以應用以下簡單公式來獲取姓氏:

=RIGHT(A2,LEN(A2)-SEARCH(" ",A2,1))

doc-extract-first-last-name-4


從Excel中的全名提取或獲取中間名

如果您需要從全名中提取中間名,這個由MID和SEARCH函數創建的公式可以實現。通用語法是:

=MID(name, SEARCH(" ", name) + 1, SEARCH(" ", name, SEARCH(" ", name)+1) - SEARCH(" ", name)-1)
  • name: 您想要提取中間名的全名或單元格引用。

請將以下公式輸入或複製到空白單元格中以輸出結果:

=MID(A2, SEARCH(" ", A2) + 1, SEARCH(" ", A2, SEARCH(" ", A2)+1) - SEARCH(" ", A2)-1)

然後,向下拖動填充柄以應用該公式到其他單元格,所有中間名也都被提取出來,如下圖所示:

doc-extract-first-last-name-5


公式解釋:

要提取中間名,首先,您應該找到全名中兩個空格的位置,然後應用MID函數從文本字符串中間提取文本。

1. SEARCH(" ", A2) + 1: 此SEARCH函數將獲取第一個空格的位置,加1表示從下一個字符開始提取。這將得到數字7。這部分被識別為MID函數中的start_num參數。

2. SEARCH(" ", A2, SEARCH(" ", A2)+1) - SEARCH(" ", A2)-1: 這部分被識別為MID函數中的num_chars參數。

  • SEARCH(" ", A2, SEARCH(" ", A2)+1): 此部分公式用於獲取第二個空格的位置,它將得到數字9。
  • SEARCH(" ", A2): 此SEARCH函數將獲取單元格A2中第一個空格的位置。它將得到數字6。
  • SEARCH(" ", A2, SEARCH(" ", A2)+1) - SEARCH(" ", A2)-1=9-6-1: 從第二個空格的位置中減去第一個空格的位置,然後從結果中減去1表示去除前導空格。結果是2。

3. MID(A2, SEARCH(" ", A2) + 1, SEARCH(" ", A2, SEARCH(" ", A2)+1) - SEARCH(" ", A2)-1)=MID(A2,7,2): 最後,MID函數將從單元格A2中第七個字符開始提取2個字符。


注意:如果全名中只有名字和姓氏,上述公式將如下面截圖所示返回錯誤值:

doc-extract-first-last-name-6

要解決這個問題,您應該將上述公式嵌套到IFERROR函數中,請應用以下公式:

=IFERROR(MID(A2, SEARCH(" ", A2) + 1, SEARCH(" ", A2, SEARCH(" ", A2)+1) - SEARCH(" ", A2)-1),"")

doc-extract-first-last-name-7


使用一項驚人的功能從全名中提取或獲取名字、中間名和姓氏

如果您對上述公式感到困擾,這裡我將推薦一個簡單的工具——Kutools for Excel,其Split Names功能可以一次性將所有名字、中間名和姓氏提取到單獨的單元格中。 點擊免費試用Kutools for Excel!


相關函數:

  • LEFT:
  • LEFT函數從提供的字符串的左側提取指定數量的字符。
  • RIGHT:
  • RIGHT函數用於從文本字符串的右側提取特定數量的字符。
  • MID:
  • MID函數用於查找並返回給定文本字符串中間的特定數量的字符。
  • LEN:
  • LEN函數返回文本字符串中的字符數。
  • FIND:
  • FIND函數用於在另一個字符串中查找字符串,並返回字符串在另一個字符串中的起始位置。
  • SEARCH:
  • SEARCH函數可幫助您從給定的文本字符串中查找特定字符或子字符串的位置。
  • SUBSTITUTE:
  • Excel的SUBSTITUTE函數用另一個文本或字符替換文本字符串中的文本或字符。

更多文章:

  • 從全名中提取名字首字母和姓氏
  • 假設您有一份全名列表,現在您想從全名中提取名字首字母和姓氏,或者名字和姓氏的第一個字符,如下圖所示。如何在Excel工作簿中處理這些任務?
  • 在Excel列表中翻轉或反轉名字和姓氏
  • 如果您有一份格式為姓氏和名字的全名列表,現在您想將姓氏和名字翻轉為名字和姓氏,如下圖所示。本文將介紹一些在Excel中處理此任務的公式。
  • 從單元格中提取多行文字
  • 如果您有一份由換行符分隔的文本字符串列表(在輸入文本時按下Alt + Enter鍵產生),現在您想將這些行的文字提取到多個單元格中,如下圖所示。如何在Excel中使用公式解決這個問題?

最佳的辦公生產力工具

Kutools for Excel - 幫助您脫穎而出

? Kutools AI 助手:基於智能執行生成代碼創建自訂公式分析數據並生成圖表調用 Kutools 函數…來徹底改變數據分析方式。
熱門功能查找、標記或識別重複值  |  刪除空行  |  合併列或單元格而不丟失數據  |  四捨五入無需公式 ...
超級 VLookup多條件  |  多值  |  跨多工作表  |  模糊查找...
高級下拉列表簡易下拉列表  |  依賴下拉列表  |  多選下拉列表...
列管理器添加特定數量的列  |  移動列  |  切換隱藏列的可見狀態  比較列以選擇相同和不同的單元格 ...
特色功能網格聚焦  |  設計檢視  |  增強編輯欄  |  工作簿與工作表管理器 | 資源庫(自動文本)  |  日期提取器  |  合併資料  |  加密/解密儲存格  |  按清單發送電子郵件  |  超級篩選  |  特殊篩選(篩選粗體/斜體/刪除線...) ...
頂級 15 種工具集12 個文字工具添加文本刪除特定字符 ...)  |  50+ 圖表 類型甘特圖 ...)  |  40+ 實用 公式基於生日計算年齡 ...)  |  19 個插入工具插入QR碼從路徑插入圖片 ...)  |  12 個轉換工具金額轉大寫匯率轉換 ...)  |  7 個合併與分割工具高級合併行分割Excel單元格 ...)  |  ... 還有更多

Kutools for Excel 擁有超過 300 種功能,確保您需要的功能只需點擊一下即可實現...


Office Tab - 啟用 Microsoft Office(包括 Excel)中的分頁閱讀和編輯功能

  • 一秒鐘內在數十個打開的文檔之間切換!
  • 每天為您減少數百次鼠標點擊,告別滑鼠手。
  • 當查看和編輯多個文檔時,您的工作效率提高 50%。
  • 為 Office(包括 Excel)帶來高效的分頁功能,就像 Chrome、Edge 和 Firefox 一樣。