實(shí)用Excel技巧分享:如何提取數(shù)字?(怎么從excel中提取數(shù)字)

手機(jī)如何做表格:點(diǎn)擊查看
使用公式提取單元格內(nèi)的數(shù)字,要根據(jù)具體的數(shù)據(jù)結(jié)構(gòu)找到某種規(guī)律從而設(shè)計(jì)出對應(yīng)的公式。當(dāng)然也有所謂的萬能提取公式,不過非常復(fù)雜并且計(jì)算量大,因此只在文末簡單說明。
第一類情況:數(shù)字在左側(cè)
例一:數(shù)字在左側(cè),且數(shù)字位數(shù)固定。
在這個(gè)例子中,數(shù)據(jù)非常有規(guī)律,數(shù)字都在左邊的三位,要想將學(xué)號單獨(dú)提取出來,只需要使用left函數(shù)即可:=LEFT(A2,3)
公式也非常簡單,第一個(gè)參數(shù)是要提取數(shù)字的單元格,第二個(gè)參數(shù)是要提取幾位(從左邊算起)。對于例一的這一類數(shù)據(jù),使用的時(shí)候根據(jù)數(shù)字的長度修改第二參數(shù)即可。
例二:數(shù)字在左側(cè),數(shù)字位數(shù)不固定,但是有明顯的分隔符號。
如果數(shù)字長度不是固定的三位,使用之前的方法就不行了,如下圖。這時(shí)就需要找到數(shù)據(jù)源的規(guī)律,再利用規(guī)律進(jìn)行操作。當(dāng)前的數(shù)據(jù)統(tǒng)一存在一個(gè)"-"號,可以根據(jù)"-"號的位置來確定數(shù)字的長度,再用left提取。
對于這種情況需要用到另一個(gè)函數(shù)來幫忙,那就是find函數(shù)。
利用公式=FIND("-",A2,1)可以確定"-"的位置。
find函數(shù)有三個(gè)參數(shù),第一個(gè)參數(shù)是要找什么內(nèi)容,第二個(gè)參數(shù)是從哪里找,第三個(gè)參數(shù)是從第幾個(gè)字開始找(從左邊算起)。
=FIND("-",A2,1) 意思是在A2單元格找“-”,從開始位置找(左邊第一位)。公式的結(jié)果是數(shù)字,代表“-”在單元格的位置(第幾個(gè)字符),此時(shí)我們需要提取的數(shù)字長度就是find的結(jié)果減1,因此方法就有了:=LEFT(A2,FIND("-",A2,1)-1)
這個(gè)方法的適用范圍也比較廣泛,只要可以發(fā)現(xiàn)比較明顯的分隔符號(可以是符號,漢字,字母等等內(nèi)容),都可以使用這個(gè)方法。
例三:數(shù)字在左邊,位數(shù)不固定并且沒有明顯的分隔符號。
如果數(shù)據(jù)是這種情況,那么前面的方法都不能用了,數(shù)字長度不確定,也沒分隔符號,唯一的規(guī)律就是數(shù)據(jù)里只有數(shù)字和漢字(沒有字母以及其他符號)。
在Excel中,字符的長度有兩種,半角字符(數(shù)字,字母以及英文方式下輸入的符號)長度為1,而全角字符(漢字和中文符號等)長度為2。可以通過一個(gè)實(shí)例來了解這一點(diǎn):
len函數(shù)是一個(gè)專門計(jì)算單元格內(nèi)容長度的函數(shù),不區(qū)分全角半角,其長度與我們平時(shí)理解的一致,相當(dāng)于字符的“個(gè)數(shù)”。下面再來看看區(qū)分全角和半角的情況:
lenb函數(shù)的作用于len函數(shù)一致,區(qū)別就是計(jì)算內(nèi)容的長度時(shí)會區(qū)分半角全角,從結(jié)果可以看出明顯的差異。其中文字按全角計(jì)算的長度是不區(qū)分全半角的2倍,而數(shù)字、字母在兩種情況下則完全一致。
對于例三的情況,就需要使用len與lenb來確定數(shù)字的長度,再用left提取。
利用公式=LEN(A2)*2-LENB(A2)可以確定數(shù)字的長度,如下圖所示。
為什么len*2-lenb就會得到數(shù)字的長度呢?
根據(jù)前面兩種情況下的對比結(jié)果,lenb統(tǒng)計(jì)長度,文字長度是len統(tǒng)計(jì)值的兩倍,而數(shù)字長度與len統(tǒng)計(jì)值一致,所以公式len*2-lenb就可以計(jì)算出數(shù)字的長度了。
數(shù)字的長度統(tǒng)計(jì)出來以后,解決方法顯而易見:=LEFT(A2,LEN(A2)*2-LENB(A2))
例三這種情況同樣比較典型,只要記住是len*2-lenb就可以了,如果確實(shí)記不住,那么遇到問題的時(shí)候可以單獨(dú)算一算,先把數(shù)字的長度算出來,再組合left就行了。
例四:數(shù)字在左邊,并且含有字母等半角字符。
這種情況很復(fù)雜,唯一的規(guī)律就是數(shù)字在左邊。來看看如何解決吧。
可以利用公式:=-LOOKUP(1,-LEFT(A2,ROW(:)))。
關(guān)于這個(gè)公式,要解釋的話估計(jì)還得五千字,所以各位只需要記得套路即可,唯一有可能修改的就是最后面那個(gè)9,當(dāng)最長的數(shù)字超過9位時(shí),就要修改這個(gè)9,可以直接用99來完成。
最后,這個(gè)公式適用于任何數(shù)字在左邊的情況。
第二類情況:數(shù)字在右邊
數(shù)字在右邊的情況與數(shù)字在左邊非常類似,以下僅做簡單說明:
數(shù)字位數(shù)固定的直接用right提取;
數(shù)字位數(shù)不固定但有分隔符號的使用find函數(shù)配合mid函數(shù) 完成提取:=MID(A2,FIND("-",A2,1)+1,9)
(注:公式中最后一個(gè)參數(shù)值“9”需要根據(jù)數(shù)字的最大位數(shù)修改,譬如提取的數(shù)字最大位數(shù)是10,則需要寫成10或者大于10的數(shù)字。)
數(shù)字位數(shù)不固定同時(shí)沒有分隔符的還是可以使用len和lenb的組合:=RIGHT(A2,LEN(A2)*2-LENB(A2))
什么規(guī)律都沒有的繼續(xù)讓lookup發(fā)大招:=-LOOKUP(1,-RIGHT(A2,ROW($1:$9)))
第三類情況:數(shù)字在中間
數(shù)字在中間這種非常特殊,比較規(guī)范的數(shù)據(jù)源中一般不會出現(xiàn)這樣的情況,舉一個(gè)例子吧:
例如圖中這種數(shù)據(jù),如果數(shù)字前面或者后面的長度固定,可以先用函數(shù)將內(nèi)容變成前面討論過的情況再去處理:
公式比較簡單,不做解釋了,至于后面一步怎么做,根據(jù)前面的學(xué)習(xí)你已經(jīng)會了吧?
下面要說的這個(gè)方法就是一種比較通用的方法了,有人稱其為萬能提取公式:
=-LOOKUP(0,-MID(A1,MIN(FIND(ROW($1:$10)-1,A1&1/17)),ROW($1:$9)))
數(shù)組公式,需要按三鍵“Ctrl+shift+回車”結(jié)束。
小結(jié)
關(guān)于如何使用公式提取單元格內(nèi)的數(shù)字,以上將絕大多數(shù)情況都進(jìn)行了說明,當(dāng)然不是全部,例如含有小數(shù)的情況,因?yàn)橛辛诵?shù)點(diǎn),就更加特殊了。
最后的那個(gè)數(shù)組公式可以算是一個(gè)比較通用的公式了。需要強(qiáng)調(diào)的是:大部分的問題之所以變得非常麻煩,就是因?yàn)椴灰?guī)范的數(shù)據(jù)源導(dǎo)致的,因此養(yǎng)成好的習(xí)慣,一個(gè)單元格只存放一種屬性的數(shù)據(jù),例如把名稱與數(shù)量、價(jià)格等信息分開存放,這樣就會大大地提高統(tǒng)計(jì)效率。
當(dāng)然站在提高公式運(yùn)用能力的角度來說,數(shù)字提取這一類問題也是函數(shù)練習(xí)的好題目。希望大家能夠結(jié)合以前學(xué)過的函數(shù),思考出更多的公式來實(shí)現(xiàn)數(shù)字的提取。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。