如何在excel中快速的提取手機號碼,已經是一個老生常談的話題了。在CTRL E問世後,關於擷取資料的問題變得簡單了許多,不得不承認,它的確是一個相當優秀的功能。但它並不是萬能的,仍然有一些提取資料的問題需要公式才能解決。接下來就由老菜鳥為大家講解在excel中提取手機號碼的常見公式套路,帶領大家深度解析公式,趕緊來看看吧~
雙11之後,大家都在忙著折騰自己的訂單,在收穫大把訂單的同時,客服部妹子的工作量也大了很多,尤其是在一些比較麻煩的數據中提取客戶手機號的工作,就更是讓人頭疼,例如下面這個表格:
(訂單資訊內容系模擬數據)
遇到這樣的數據,一邊吐槽系統的不合理,一邊還得想辦法把手機號提取出來,這可是上千行數據啊……
聽說好像有個叫Ctrl E的快捷鍵可以提取電話號碼,趕緊試試:
看來遇上這麼複雜的數據,號稱智能填充的Ctrl E大法也失靈了,怎麼辦?
VBA……
完全不會呀,那還有救麼呢?
其實還真有公式可以解決這個問題,公式為:
=LOOKUP(9E 307,--MID(LEFT(A2,FIND("收貨人", A2)),ROW($1:$99),11))
結果如圖所示:
公式看起來不是很長,但卻使用了五個函數來組合,以下就來破解這個公式的原理。
要解決問題首先要找到規律,手機號碼的一個特點就是長度為11位,並且全部都是數字,因此可以利用提取數字的套路來解決問題。
與通常提取數字的問題不同之處在於,在這些訂單資訊中,手機號碼出現的位置不固定,並且會有其他的數字幹擾,唯一可以利用的就是11位的數字這一點。
這就需要用到MID函數,格式為:MID(A2,1,11),意思是從A2單元格中的第一個字開始,截取11個字,公式結果為:
這一點很好理解,由於不確定手機號碼的開始位置,用一個常用的套路,就是將MID函數的第二參數使用ROW來實現多次提取的效果,為了方便理解,先用ROW(1:10)作說明。
來看看公式=MID(A2,ROW(1:10),11)
的效果:
關於LEFT FIND組合比較好理解,如果有問題可以留言,我們會將類似的幾個常用組合整理一篇教學。
現在將縮小範圍後的結果代入先前的公式,就有了最終的公式:=LOOKUP(9E 307,--MID(LEFT(A2,FIND("收貨人",A2)) ,ROW($1:$99),11))
#結果出現錯誤值說明訂單資訊中沒有手機號碼。
總結:關於這個公式的原理為大家進行了分析,從今天這個案例中,可以了解到如何拆分一個看上去很複雜的問題,方法就是一點一點找規律,規律性越強,解決想法越多。
其實這個問題還有另外一個思路,就是用公式:
=MAX(IFERROR(--MID(LEFT(A2,FIND("收",A2)) ,ROW($1:$99),11),0))
來完成。
有興趣的夥伴可以試試自己分析公式的原理,當然也可以留言,看大家的需要,就這個公式再講一次。
相關學習推薦:excel教學
以上是實用Excel技巧分享:搞懂提取手機號碼的經典公式!的詳細內容。更多資訊請關注PHP中文網其他相關文章!