 VIP學員的問題,要從科目里面提取最后1級科目、倒數第2級科目。 最后1級科目這種很常用,而倒數第2級科目這種問題很少見,當學員提到后,盧子懵逼了很久,最后才無意間發現了一個新用法可以解決。=TRIM(RIGHT(SUBSTITUTE(A2,"-",REPT(" ",50)),50)) 正常情況下,要么提取首個,要么提取最后,很少出現提取中間的情況。先來看提取全部,可以分列,也可以借助TEXTSPLIT函數。 而倒數第2居然是借助CHOOSECOLS函數,將第2參數設置為-2,還是第一次知道這個函數能支持負數。=CHOOSECOLS(TEXTSPLIT(A2,"-"),-2)  在我們的認知中,都是從左到右,第1、2、3,依次數下去,都是正數。比如返回區域第3列。 現在知道支持負數,第3列,也是區域最后1列,也可以寫-1。

=CHOOSECOLS(TEXTSPLIT(A2,"-"),-1)  現在不管從左到右,還是從右到左都可以,也就是不管你要提取第幾個都可以,方便了很多。另一個學員的問題,實際比摘要的更復雜,要提取最后1個金額。 提取全部數字,可以借助REGEXP函數,[0-9.]+代表數字0-9,同時包含小數點。 而現在要提取最后1個數字,也就是CHOOSECOLS函數,第2參數設置為-1。=CHOOSECOLS(REGEXP(A2,"[0-9.]+"),-1) 
=CHOOSECOLS(REGEXP(A2,"[0-9.]+"),1) 

 參數支持負數,看似不起眼的發現,卻可以大大簡化公式,帶來極大的便利。
|