Excel從右向左查找 (轉載自 http://www.gocalf.com/blog/excel-find-from-right.html ) 要在Excel裡面實現從右向左查找。比如給定字符串“abc,defg,hi,jkl”,需要找到最右一個逗號的位置(即12),或者最右一個逗號右邊的部分(即“jkl”)。 Excel裡面字符串查找用的FIND函數,只能從左向右(可以指定起始位置)地進行字符串查找。如果想要找到最右邊的待查字符串,就要稍微費點兒勁兒了。 如果分隔符的個數是已知且確定的(比如IP地址中的小數點),可以通過多個FIND函數嵌套來實現。但這個其實是從左到右查找第n個。如果分隔符的個數不確定,這個方法就不太合適的。 處理方法是這樣的,假設單元格A1存放著包含分隔符的完整字符串(如上面提到的“abc,defg,hi,jkl”),那麼查找最右一個逗號的公式為: =FIND(CHAR(1),SUBSTITUTE(A1,",",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1,",","")))) 這個公式的結果顯然是12。 看起來很複雜,其實一步步拆解開並不是太難,基本的原理是這樣的: SUBSTITUTE(A1,",",""):把原字符串中的逗號全部刪除(替換成空字符串),得到臨時字符串text1; LEN(A1)-LEN(text1):用原字符串的長度減去text1的長度,即可知道原字符串中總共有多少個逗號,num2; SUBSTITUTE(A1,",",CHAR(1),num2):利用SUBSTITUE函數,把原字符串中的最後一個逗號替換成特殊字符CHAR(1),得到臨時字符串text3; FIND(CHAR(1),text3):在text3中查找特殊字符CHAR(1),其位置就是原字符串中最後一個逗號的位置pos。 真是一個奇妙的方法。 找到位置後,要取出左邊或者右邊的內容就很簡單了,公式分別是(用pos代替那個複雜的FIND函數):=LEFT(A1,pos-1),=RIGHT(A1,LEN(A1)- pos)。