2015年2月2日 星期一

Excel-間隔取出空格隔開的字串(SUBSTITUTE,REPT,MID,ROW)

在下圖中的 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 函數將上式中的「*」由空白取代,即會留下姓名。

沒有留言:

張貼留言

好康東東