2015年11月5日 星期四

Excel-取出特定符號之間的字(SUBSTITUTE,REPT)

在 Excel 中有一個資料表,其中下圖左的原始字串,想要從中取出【】中間的字元,該如何處理?
觀察下圖,其中【】的前、中、後的字元數量,每個儲存格都不相同。
Excel-取出特定符號之間的字(SUBSTITUE,REPT)

【公式設計與解析】
儲存格C2:=SUBSTITUTE(MID(SUBSTITUTE(SUBSTITUTE(A2,"【",REPT("*",20)),
"】",REPT("*",20)),21,20),"*","")
公式(1) SUBSTITUTE(A2,"【",REPT("*",20))
透過 SUBSTUTE 函數將「【」字元,置換為 20 個『*』字元。其中參數 20,是假設【】的前、中、後的字元不會超過 20 個字元。
公式(2) SUBSTITUTE(SUBSTITUTE(A2,"【",REPT("*",20)),"】",REPT("*",20))
取公式(1)式的傳回值,將將「】」字元,置換為 20 個『*』字元。結果如下圖:
Excel-取出特定符號之間的字(SUBSTITUE,REPT)
MID(公式(2)傳回值,21,20):將以上所得的字串,從第 21 個字開始取 20 個字。
觀察下圖,第21個字必定還是『*』:
Excel-取出特定符號之間的字(SUBSTITUE,REPT)
最後透過 SUBSTITUE 函數將所有的『*』置換為空白字串。
公式:SUBSTITUTE(MID(上式傳回值,21,20),"*",""))

Excel-取出特定符號之間的字(SUBSTITUE,REPT)

沒有留言:

張貼留言

檢視其他文章

好康東東