在下圖中的 Excel 工作表的儲存格A2,裡面有一些字元由空格隔開所組成的字串,如何取出其中姓名的部分呢?
觀察儲存格A2的內容,其中由一些「數字+姓名」所組成,每個數字和姓名之間由「空格」所隔開。
【公式設計】
本題我是參考其他人的做法而設計:
儲存格C2:=SUBSTITUTE(MID(SUBSTITUTE($A$2," ",REPT("*",500)),
((ROW(2:2)-1)*2-1)*500,500),"*","")
複製儲存格C2,貼至儲存格C2:C25。
(ROW(2:2)-1)*2-1:當向下複製公式時,可以產生 1, 3, 5, 7, ...。因為在字串中姓名是每兩個空格出現一次。
REPT("*",500):傳回 500 個「*」,即「****** ... *****」,其中有 500 個*。
SUBSTITUTE($A$2," ",REPT("*",500)):將儲存格A2的內容中的每一個空格,全置換為 500 個*。
MID(SUBSTITUTE($A$2," ",REPT("*",500)),((ROW(2:2)-1)*2-1)*500,500):每間隔1000個字取出500個字,其中必定包含一個姓名。
最後再利用 SUBSTITUTE 函數將上式中的「*」由空白取代,即會留下姓名。
全站熱搜
留言列表