有這樣一個Excel經(jīng)典問題,如下圖開戶行和銀行賬戶寫在同一個單元格中,需要將銀行賬號分離出來。 解決這個問題并不難,我相信大多數(shù)同學都能想到不止一種方法,比如:
這個問題雖然簡單,但是它引出了Excel中一大類問題:如何在Excel中分離任何位置的字符串?比如,就上圖所示的問題,上面給出的三種方法真的都可以么,我們來分析分析: ▌快速填充 這個方法可以很好的解決數(shù)據(jù)不規(guī)整的的提取問題,但是這個方法只能使用一次,如果數(shù)據(jù)變化,需要重新進行填充。 ▌分列 看以上數(shù)據(jù)特點: ①無固定長度,因此不能以【固定字符】進行拆分; ②并不是所有文字與數(shù)字之間都存在【空格】,因此無法以【分隔符號】進行拆分; 所以分列法并不可行 ▌Right函數(shù) =SUBSTITUTE((RIGHT(B3,LEN(B3)*2-LENB(B3))),' ','') 所以,你看,對于Excel提取賬號這個問題,看似簡單,但是由于數(shù)據(jù)情況的不同,并不是所有的方法都適用,這其實是一個套路很深的Excel經(jīng)典問題,通過這個問題,可以擴展出來很多知識點。 1、賬號提取的三個思路三個思路:快速填充、分列、函數(shù)法 分列和快速填充我們在過去的文章中講過很多,比較容易理解,這里重點講解函數(shù)法: =SUBSTITUTE((RIGHT(B3,LEN(B3)*2-LENB(B3))),' ','') 2、RIGHT函數(shù)提取字符首先對主函數(shù)RIGHT的分析,如下圖所示: RIGHT函數(shù)需要確定第二個參數(shù),即從字符串右端需要返回的字符的個數(shù),這個應該怎么確定呢?
3、MID函數(shù)提取字符MID函數(shù)是用來截取處于中間位置的字符的,他有一個兄弟函數(shù)MIDB,它也屬于MID函數(shù)大類,這兩者有什么區(qū)別呢?MID,不分英文、中文的。一個英文字母和一個漢字都是一個數(shù)。而MIDB,就有區(qū)分,一個英文字母為一個字符,一個漢字為兩個字符。 正是利用MIDB函數(shù)對中英文字符的判定的特性,可以用它來提取復雜的字符串。 =TRIM(MIDB(B3,SEARCHB('?',B3),LENB(B3))) 4、LOOKUP函數(shù)提取字符關于LOOKUP函數(shù)的詳細用法,我寫過一個教科書級的圖文教程,通過6張圖片就能完全掌握LOOKUP最基礎、最地道、最核心的用法,可以看這篇教程來學習。 Excel中的萬能查找函數(shù)LOOKUP,全在這六張卡片中! 而使用LOOKUP函數(shù)提取本案例中的字符,寫出的公式是這樣的: =LOOKUP('A',TRIM(RIGHT(B3,ROW($1:$30)))) 當然,使用LOOKUP還可以寫出其他的公式形式,也能完成本案例的字符提?。?/p> =LOOKUP('A',TRIM(RIGHT(B3,ROW($1:$30)))) 你看,通過一個小小的提取字符案例,我們學習了Excel的快速填充、分列和11個Excel常用函數(shù),他們分別是RIGHT、LEN、LENB、MID、MIDB、SUBSTITUTE、LOOKUP、TRIM、ROW,SEARCH、FIND,可以說,掌握這些常用的文本提取函數(shù),任何形式的字符提取你都手到擒來。 |
|
來自: weimiao > 《OFFICE應用》