excel數(shù)據(jù)提取:查找批量訂單中的手機號碼

編按:哈嘍,大家好!如何在excel中快速的提取手機號碼,已經(jīng)是一個老生常談的話題了。在CTRL+E問世后,關(guān)于提取數(shù)據(jù)的問題都變得簡單了很多,不得不承認(rèn),它的確是一個相當(dāng)優(yōu)秀的功能。但是它并不是萬能的,仍然有一些提取數(shù)據(jù)的問題需要公式才能解決。接下來就由老菜鳥為大家講解在excel中提取手機號碼的常見公式套路,帶領(lǐng)大家深度解析公式,趕緊來看看吧~
雙11之后,大家都在忙著折騰自己的訂單,在收獲大把訂單的同時,客服部妹子的工作量也大了很多,尤其是在一些比較麻煩的數(shù)據(jù)中提取客戶手機號的工作,就更是讓人頭疼,例如下面這個表格:?

(訂單信息內(nèi)容系模擬數(shù)據(jù))
?遇到這樣的數(shù)據(jù),一邊吐槽系統(tǒng)的不合理,一邊還得想辦法把手機號提取出來,這可是上千行數(shù)據(jù)啊……?
聽說好像有個叫Ctrl+E的快捷鍵可以提取電話號碼,趕緊試試:?

?看來遇上這么復(fù)雜的數(shù)據(jù),號稱智能填充的Ctrl+E大法也失靈了,怎么辦??
VBA……?
完全不會呀,那么還有救么??
其實還真有一個公式可以解決這個問題,公式為:
=LOOKUP(9E+307,--MID(LEFT(A2,FIND("收貨人",A2)),ROW($1:$99),11))
結(jié)果如圖所示:?

公式看起來不是很長,但卻使用了五個函數(shù)進行組合,下面就來破解這個公式的原理。
要解決問題首先要找到規(guī)律,手機號的一個特點就是長度為11位,并且全部都是數(shù)字,因此可以利用提取數(shù)字的套路來解決問題。
與通常提取數(shù)字的問題不同之處在于,在這些訂單信息中,手機號碼出現(xiàn)的位置不固定,并且會有其他的數(shù)字干擾,唯一可以利用的就是11位的數(shù)字這一點。
這就需要用到MID函數(shù),格式為:MID(A2,1,11),意思是從A2單元格中的第一個字開始,截取11個字,公式結(jié)果為:

這一點很好理解,由于不確定手機號的開始位置,用一個常用的套路,就是將MID函數(shù)的第二參數(shù)使用ROW來實現(xiàn)多次提取的效果,為了便于理解,先用ROW(1:10)作說明。
來看看公式=MID(A2,ROW(1:10),11)的效果:

這樣看著沒什么區(qū)別,但是通過F9功能查看后就會發(fā)現(xiàn),得到了10個截取后的內(nèi)容:

這個公式相當(dāng)于MID(A2,1,11)、MID(A2,2,11)……MID(A2,10,11)的效果。
為了能夠提取出手機號,我們必須將MID的第二參數(shù)繼續(xù)放大,習(xí)慣上都使用ROW(1:99)這種寫法,再來看看效果:

可以看到手機號確實在這一大串字符中。
到這一步,手機號成功的被截取出來了,接下來就是如何從這一組字符串中得到需要的手機號。
這時候就需要LOOKUP上場了,原本公式應(yīng)該寫成:=LOOKUP(9E307,--MID(A2,ROW($1:$99),11))。
9E307表示一個非常大的數(shù)字,在MID前加“--”表示將截取的內(nèi)容轉(zhuǎn)為數(shù)字,這個公式的原理在之前的教程中也多次做過講解。
可是公式得到的結(jié)果卻讓人大跌眼鏡:

這是因為LOOKUP函數(shù)得到的是最后位置出現(xiàn)的數(shù)字,在案例中的數(shù)據(jù)中,除了手機號,后面還出現(xiàn)了訂單時間,因此要想得到最終結(jié)果,還需要最后一個步驟,縮小LOOKUP處理的范圍。
再次觀察數(shù)據(jù)源,可以發(fā)現(xiàn)一個規(guī)律,手機號都是在“收貨人”之前的位置,因此只需要把收貨人前面的字符串提取出來,再用剛才的公式就能得到結(jié)果。
這個很容易實現(xiàn),利用LEFT+FIND組合就能完成,公式為:=LEFT(A2,FIND("收貨人",A2)),結(jié)果如圖所示:

關(guān)于LEFT+FIND組合比較好理解,如果有問題可以留言,我們會將類似的幾個常用組合整理一篇教程。
現(xiàn)在將縮小范圍后的結(jié)果代入之前的公式,就有了最終的公式:=LOOKUP(9E+307,--MID(LEFT(A2,FIND("收貨人",A2)),ROW($1:$99),11))

結(jié)果出現(xiàn)錯誤值說明訂單信息中沒有手機號碼。
總結(jié):關(guān)于這個公式的原理為大家進行了分析,從今天這個案例中,可以了解到如何拆分一個看上去很復(fù)雜的問題,方法就是一點一點找規(guī)律,規(guī)律性越強,解決思路就越多。
其實這個問題還有另外一個思路,就是用公式:
=MAX(IFERROR(--MID(LEFT(A2,FIND("收",A2)),ROW($1:$99),11),0))來完成。

有興趣的伙伴可以試試自己分析一下公式的原理,當(dāng)然也可以留言,看大家的需要,就這個公式再講一次。
****部落窩教育-excel文本中提取手機號碼****
原創(chuàng):老菜鳥/部落窩教育(未經(jīng)同意,請勿轉(zhuǎn)載)
更多教程:部落窩教育(www.itblw.com)
微信公眾號:exceljiaocheng
excel數(shù)據(jù)提取:查找批量訂單中的手機號碼的評論 (共 條)
