|
編按:哈嘍,大家好!如何在excel中快速的提取手機(jī)號(hào)碼,已經(jīng)是一個(gè)老生常談的話題了。在CTRL+E問(wèn)世后,關(guān)于提取數(shù)據(jù)的問(wèn)題都變得簡(jiǎn)單了很多,不得不承認(rèn),它的確是一個(gè)相當(dāng)優(yōu)秀的功能。但是它并不是萬(wàn)能的,仍然有一些提取數(shù)據(jù)的問(wèn)題需要公式才能解決。接下來(lái)就由老菜鳥(niǎo)為大家講解在excel中提取手機(jī)號(hào)碼的常見(jiàn)公式套路,帶領(lǐng)大家深度解析公式,趕緊來(lái)看看吧~ 雙11之后,大家都在忙著折騰自己的訂單,在收獲大把訂單的同時(shí),客服部妹子的工作量也大了很多,尤其是在一些比較麻煩的數(shù)據(jù)中提取客戶手機(jī)號(hào)的工作,就更是讓人頭疼,例如下面這個(gè)表格:
(訂單信息內(nèi)容系模擬數(shù)據(jù)) 遇到這樣的數(shù)據(jù),一邊吐槽系統(tǒng)的不合理,一邊還得想辦法把手機(jī)號(hào)提取出來(lái),這可是上千行數(shù)據(jù)啊…… 聽(tīng)說(shuō)好像有個(gè)叫Ctrl+E的快捷鍵可以提取電話號(hào)碼,趕緊試試:
看來(lái)遇上這么復(fù)雜的數(shù)據(jù),號(hào)稱智能填充的Ctrl+E大法也失靈了,怎么辦? VBA…… 完全不會(huì)呀,那么還有救么? 其實(shí)還真有一個(gè)公式可以解決這個(gè)問(wèn)題,公式為: =LOOKUP(9E+307,--MID(LEFT(A2,FIND("收貨人",A2)),ROW($1:$99),11)) 結(jié)果如圖所示:
公式看起來(lái)不是很長(zhǎng),但卻使用了五個(gè)函數(shù)進(jìn)行組合,下面就來(lái)破解這個(gè)公式的原理。 要解決問(wèn)題首先要找到規(guī)律,手機(jī)號(hào)的一個(gè)特點(diǎn)就是長(zhǎng)度為11位,并且全部都是數(shù)字,因此可以利用提取數(shù)字的套路來(lái)解決問(wèn)題。 與通常提取數(shù)字的問(wèn)題不同之處在于,在這些訂單信息中,手機(jī)號(hào)碼出現(xiàn)的位置不固定,并且會(huì)有其他的數(shù)字干擾,唯一可以利用的就是11位的數(shù)字這一點(diǎn)。 這就需要用到MID函數(shù),格式為:MID(A2,1,11),意思是從A2單元格中的第一個(gè)字開(kāi)始,截取11個(gè)字,公式結(jié)果為:
這一點(diǎn)很好理解,由于不確定手機(jī)號(hào)的開(kāi)始位置,用一個(gè)常用的套路,就是將MID函數(shù)的第二參數(shù)使用ROW來(lái)實(shí)現(xiàn)多次提取的效果,為了便于理解,先用ROW(1:10)作說(shuō)明。 來(lái)看看公式=MID(A2,ROW(1:10),11)的效果:
這樣看著沒(méi)什么區(qū)別,但是通過(guò)F9功能查看后就會(huì)發(fā)現(xiàn),得到了10個(gè)截取后的內(nèi)容:
這個(gè)公式相當(dāng)于MID(A2,1,11)、MID(A2,2,11)……MID(A2,10,11)的效果。 為了能夠提取出手機(jī)號(hào),我們必須將MID的第二參數(shù)繼續(xù)放大,習(xí)慣上都使用ROW(1:99)這種寫(xiě)法,再來(lái)看看效果:
可以看到手機(jī)號(hào)確實(shí)在這一大串字符中。 到這一步,手機(jī)號(hào)成功的被截取出來(lái)了,接下來(lái)就是如何從這一組字符串中得到需要的手機(jī)號(hào)。 這時(shí)候就需要LOOKUP上場(chǎng)了,原本公式應(yīng)該寫(xiě)成:=LOOKUP(9E307,--MID(A2,ROW($1:$99),11))。 9E307表示一個(gè)非常大的數(shù)字,在MID前加“--”表示將截取的內(nèi)容轉(zhuǎn)為數(shù)字,這個(gè)公式的原理在之前的教程中也多次做過(guò)講解。 可是公式得到的結(jié)果卻讓人大跌眼鏡:
這是因?yàn)?span style="margin-top: 0px;margin-bottom: 0px;padding: 0px;">LOOKUP函數(shù)得到的是最后位置出現(xiàn)的數(shù)字,在案例中的數(shù)據(jù)中,除了手機(jī)號(hào),后面還出現(xiàn)了訂單時(shí)間,因此要想得到最終結(jié)果,還需要最后一個(gè)步驟,縮小LOOKUP處理的范圍。 再次觀察數(shù)據(jù)源,可以發(fā)現(xiàn)一個(gè)規(guī)律,手機(jī)號(hào)都是在“收貨人”之前的位置,因此只需要把收貨人前面的字符串提取出來(lái),再用剛才的公式就能得到結(jié)果。 這個(gè)很容易實(shí)現(xiàn),利用LEFT+FIND組合就能完成,公式為:=LEFT(A2,FIND("收貨人",A2)),結(jié)果如圖所示:
關(guān)于LEFT+FIND組合比較好理解,如果有問(wèn)題可以留言,我們會(huì)將類似的幾個(gè)常用組合整理一篇教程。 現(xiàn)在將縮小范圍后的結(jié)果代入之前的公式,就有了最終的公式:=LOOKUP(9E+307,--MID(LEFT(A2,FIND("收貨人",A2)),ROW($1:$99),11))
結(jié)果出現(xiàn)錯(cuò)誤值說(shuō)明訂單信息中沒(méi)有手機(jī)號(hào)碼。 總結(jié):關(guān)于這個(gè)公式的原理為大家進(jìn)行了分析,從今天這個(gè)案例中,可以了解到如何拆分一個(gè)看上去很復(fù)雜的問(wèn)題,方法就是一點(diǎn)一點(diǎn)找規(guī)律,規(guī)律性越強(qiáng),解決思路就越多。 其實(shí)這個(gè)問(wèn)題還有另外一個(gè)思路,就是用公式: =MAX(IFERROR(--MID(LEFT(A2,FIND("收",A2)),ROW($1:$99),11),0))來(lái)完成。
有興趣的伙伴可以試試自己分析一下公式的原理,當(dāng)然也可以留言,看大家的需要,就這個(gè)公式再講一次。 ****部落窩教育-excel文本中提取手機(jī)號(hào)碼**** 原創(chuàng):老菜鳥(niǎo)/部落窩教育(未經(jīng)同意,請(qǐng)勿轉(zhuǎn)載) |
|
|
來(lái)自: 部落窩教育BLW > 《部落窩excel/VBA》