KutoolsforOffice — 一套方案,五大工具。事半功倍。3 月特賣:20% 折扣

在 Excel 中從全名提取名字、中間名與姓氏

作者Xiaoyang修改日期

假設您有一份使用者名稱清單,現在希望將全名拆分為名字、中間名與姓氏,並分別填入不同欄位(如下方截圖所示)。本文將介紹幾個實用的 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,表示所需字元數比空格位置少一個,結果為:5.

LEFT(A2,SEARCH(" ",A2)-1)= LEFT("Jerry T. Stone",[[PH_93]]):此 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,“ “,“*“,【【PH_98】】): 此 SUBSTITUTE 函數會將 A2 中的最後一個空格替換為 * 字元,您將得到以下結果:「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 的第 7 個字元開始,提取中間 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!透過其分割姓名功能,即可一鍵將名字、中間名與姓氏分別提取至不同儲存格。立即點擊下載 Kutools for Excel 免費試用!


使用到的相關函數:

  • LEFT
  • LEFT 函數可從指定字串的左側提取您設定的字元數量。
  • RIGHT
  • RIGHT 函數可從文字字串右側精準提取指定數量的字元。
  • MID
  • MID 函數可從指定文字字串的中間位置,精準擷取並傳回特定數量的字元。
  • LEN
  • LEN 函數會傳回文字字串中的字元數。
  • FIND
  • FIND 函數用於在一個字串中搜尋另一個字串,並傳回其起始位置。
  • SEARCH
  • SEARCH 函數能協助您快速找出指定字元或子字串在給定文字字串中的位置。
  • SUBSTITUTE
  • Excel 的 SUBSTITUTE 函數可將文字字串中的指定文字或字元,輕鬆替換為其他文字或字元。

更多文章:

  • 從全名中提取名字首字母與姓氏
  • 假設您有一份全名清單,現在希望從全名中提取名字的首字母與姓氏,或分別取得名字與姓氏的第一個字元(如下方截圖所示),該如何在 Excel 工作表中完成這些任務?
  • 在 Excel 清單中交換或反轉名字與姓氏
  • 如果您手邊有一份格式為「姓氏+名字」的全名清單,現在想將其調整為「名字+姓氏」的順序(如下方截圖所示),本文將為您介紹幾個實用的 Excel 公式來輕鬆完成這項任務。
  • 從儲存格中提取多行文字
  • 如果您有一組以換行符號分隔的文字字串(按下 Alt + Enter 鍵輸入時所產生),現在想將這些文字行分別提取到多個儲存格中(如下方截圖所示),該如何在 Excel 中透過公式達成?
  • 在 Excel 中從文字字串提取第 N 個單字
  • 如果您有一組文字字串或句子,並希望從清單中提取指定的第 n 個單字(如下方截圖所示),本文將為您介紹幾種在 Excel 中輕鬆完成此任務的實用方法。

最佳 Office 生產力工具

Kutools for Excel -助您脫穎而出

🤖KUTOOLS AI 助手:以以下方式革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、標示或標記重複值    刪除空白行    合併列或儲存格而不遺失資料    不使用公式的四捨五入……
超級 VLookup多重條件    多重值    跨多個工作表    模糊查找……
進階下拉列表簡易下拉式清單    相依下拉式清單    多選下拉式清單……
欄位管理員新增指定數量的欄位    移動欄位   切換隱藏欄位的可見狀態  比較欄位以選擇相同/不同單元格……
精選功能網格聚焦    設計視圖    增強編輯欄    工作簿與工作表管理員資源庫(自動文字)  日期提取    合併工作表    加密/解密儲存格   依清單傳送電子郵件    超級篩選    特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......
頂尖 15 工具組12 文字工具添加文本刪除特定字符……)  50+ 圖表 類型甘特圖……)  40+ 實用公式基於生日計算年齡……)  19 插入工具插入二維碼從路徑插入圖片……)  12 轉換工具金額轉大寫匯率轉換……)  7 合併和拆分工具高級合併行拆分 Excel 儲存格……)……還有更多
在您的慣用語言中使用 Kutools – 支援英文、西班牙文、德文、法文、中文及其他 40+ 種語言!

Kutools for Excel 擁有超過 300 項功能,確保您所需的功能僅需一鍵即可取得……


Office Tab -在 Microsoft Office(包含 Excel)中啟用分頁式閱讀與編輯

  • 一秒內在數十份開啟的文件間快速切換!
  • 每天為您減少數百次滑鼠點擊,遠離滑鼠手困擾。
  • 在檢視與編輯多份文件時,讓您的生產力提升高達 50%。
  • 為 Office(包含 Excel)帶來如 Chrome、Edge 與 Firefox 般的高效能分頁體驗。