在 Excel 中將姓名拆分成姓氏與名字兩欄,可以利用「MID」函數來達成。透過設定起始位置與擷取字元數,就能自動判斷並抓取單姓與單名或雙名,快速完成通訊錄整理。
Excel 技巧百百種,但阿湯發現大家在整理通訊錄時遇到的問題越來越多啊,包括怎樣分割儲存格(使用資料剖析或快速填入),將地址合併成一個儲存格,以及上次介紹過這篇利用函數「REPLACE」,將電話號碼中間的三個數字換成「*」。阿湯不禁想:到底是公司要求多,還是老闆太龜毛…今天的問題是,當姓名欄中包含兩個字及三個字的人名,如果要拆成姓氏、名字獨立兩欄,例如「劉阿湯」要變成「劉」、「阿湯」,該怎麼做呢?
Excel 如何將姓名自動拆分成姓氏與名字?
下面阿湯用 Excel 2016 來示範,基本上這功能應該所有 Excel 的版本都有,我們要使用的是函數「MID」來擷取特定位置的文字。
認識 MID 函數語法與參數設定
MID 函數的語法結構包含三個部分,語法如下:
MID(text, start_num, num_chars)
- Text:必要。這是包含您想擷取之字元的文字字串,也就是你要處理的那一格。
- Start_num:必要。這是要在 Text 中擷取的第一個字元的位置。Text 中的第一個字元為 1,依此類推。
- Num_chars:必要。指定要 MID 從 Text 傳回的字元數,也就是你要抓幾個字。
擷取單一姓氏的公式設定步驟
下面這些古代文人大家應該多少有聽過,古人很喜歡取單名,現在台灣人比較少見兩個字的名字,但只要有出現在你的表單就是要一起處理。開始吧,請在姓氏這欄第一格(例如 B2)輸入公式:
=MID(A2,1,1)
公式參數說明:
- 「A2」表示你對照的儲存格,也就是「李白」這格。
- 第一個「1」表示從第一個字元開始算,也就是「李」。
- 第二個「1」表示傳回的字元數,只有一位,所以抓出來的也是「李」。
輸入完畢後,按下 Enter 鍵即可得出姓氏。
完成後的畫面如下,你會看到「李白」的「李」已經被獨立抓出來了。
擷取名字的公式設定步驟
再來是名字,請到名字這欄的第一格(例如 C2)輸入公式:
=MID(A2,2,2)
公式參數說明:
- 「A2」表示你對照的儲存格,也就是「李白」這格。
- 第一個「2」表示從第二個字元開始算,也就是「白」。
- 第二個「2」表示傳回的字元數。這裡設定為 2,如果名字只有一位(像李白),Excel 就只會傳回一位;如果是三個字的名字(名字佔兩個字),就會完整抓出兩個字,就看你的名字是一個字還是兩個字了。
輸入完畢後,按下 Enter 鍵即可得出名字。
完成第一筆資料後,分別將姓氏與名字這兩欄的儲存格右下角下拉,複製公式套用到所有名單上。
成功版就是這樣啦!不管名字是單名還是雙名,都能完美分開。文字要置左或置中就看個人排版習慣了,趕快打開 Excel 試試看吧。
更多 Office 相關教學:請點我
常見問題
Excel 拆分姓名時,如果名字有一個字和兩個字混合怎麼辦?
使用 MID 函數擷取名字時,將傳回的字元數(Num_chars)設定為 2。如果名字只有一個字,Excel 會自動只傳回一個字元;如果是兩個字,就會完整抓取,不會產生錯誤。
MID 函數的三個參數分別代表什麼意思?
MID 函數包含 Text、Start_num、Num_chars。Text 是要處理的儲存格;Start_num 是開始擷取的第一個字元位置;Num_chars 則是指定要擷取的總字元數。
這篇教學的方法適用於複姓嗎?
本篇教學的公式範例是針對「單姓」設計(從第 1 個字元抓取 1 個字)。如果是複姓,姓氏的字元數需要改為 2,名字的起始位置也要跟著調整為 3。
(本文於 2026 年 10 月更新:補充步驟說明與常見問題)




