首頁 > 專題 > excel > 主體

實用Excel技巧分享:搞懂提取手機號碼的經典公式!

青灯夜游
發布: 2023-04-23 19:20:29
轉載
4818 人瀏覽過

如何在excel中快速的提取手機號碼,已經是一個老生常談的話題了。在CTRL E問世後,關於擷取資料的問題變得簡單了許多,不得不承認,它的確是一個相當優秀的功能。但它並不是萬能的,仍然有一些提取資料的問題需要公式才能解決。接下來就由老菜鳥為大家講解在excel中提取手機號碼的常見公式套路,帶領大家深度解析公式,趕緊來看看吧~

實用Excel技巧分享:搞懂提取手機號碼的經典公式!

雙11之後,大家都在忙著折騰自己的訂單,在收穫大把訂單的同時,客服部妹子的工作量也大了很多,尤其是在一些比較麻煩的數據中提取客戶手機號的工作,就更是讓人頭疼,例如下面這個表格:

實用Excel技巧分享:搞懂提取手機號碼的經典公式!

(訂單資訊內容系模擬數據)

遇到這樣的數據,一邊吐槽系統的不合理,一邊還得想辦法把手機號提取出來,這可是上千行數據啊……

聽說好像有個叫Ctrl E的快捷鍵可以提取電話號碼,趕緊試試:

實用Excel技巧分享:搞懂提取手機號碼的經典公式!

看來遇上這麼複雜的數據,號稱智能填充的Ctrl E大法也失靈了,怎麼辦?

VBA……

完全不會呀,那還有救麼呢?

其實還真有公式可以解決這個問題,公式為:

=LOOKUP(9E 307,--MID(LEFT(A2,FIND("收貨人", A2)),ROW($1:$99),11))

結果如圖所示:

實用Excel技巧分享:搞懂提取手機號碼的經典公式!

公式看起來不是很長,但卻使用了五個函數來組合,以下就來破解這個公式的原理。

要解決問題首先要找到規律,手機號碼的一個特點就是長度為11位,並且全部都是數字,因此可以利用提取數字的套路來解決問題。

與通常提取數字的問題不同之處在於,在這些訂單資訊中,手機號碼出現的位置不固定,並且會有其他的數字幹擾,唯一可以利用的就是11位的數字這一點。

這就需要用到MID函數,格式為:MID(A2,1,11),意思是從A2單元格中的第一個字開始,截取11個字,公式結果為:

實用Excel技巧分享:搞懂提取手機號碼的經典公式!

這一點很好理解,由於不確定手機號碼的開始位置,用一個常用的套路,就是將MID函數的第二參數使用ROW來實現多次提取的效果,為了方便理解,先用ROW(1:10)作說明。

來看看公式=MID(A2,ROW(1:10),11)的效果:

實用Excel技巧分享:搞懂提取手機號碼的經典公式!

##這樣看著沒什麼差別,但是透過F9功能查看後就會發現,得到了10個截取後的內容:

實用Excel技巧分享:搞懂提取手機號碼的經典公式!

這個公式相當於MID(A2,1,11) 、MID(A2,2,11)……MID(A2,10,11)的效果。

為了能夠提取出手機號,我們必須將MID的第二參數繼續放大,習慣上都使用ROW(1:99)這種寫法,再來看看效果:

實用Excel技巧分享:搞懂提取手機號碼的經典公式!

可以看到手機號碼確實在這一大字串中。

到這一步,手機號成功的被截取出來了,接下來就是如何從這一組字串中得到需要的手機號碼。

這時候就需要LOOKUP上場了,原本公式應該寫成:=LOOKUP(9E307,--MID(A2,ROW($1:$99),11))。

9E307表示一個非常大的數字,在MID前面加上「--」表示將截取的內容轉為數字,這個公式的原理在之前的教程中也多次做過講解。

可是公式得到的結果卻讓人大跌眼鏡:

實用Excel技巧分享:搞懂提取手機號碼的經典公式!

#這是因為LOOKUP函數得到的是最後位置出現的數字,在案例中的數據中,除了手機號,後面還出現了訂單時間,因此要想得到最終結果,還需要最後一個步驟,縮小LOOKUP處理的範圍。

再次觀察資料來源,可以發現一個規律,手機號都是在「收貨人」之前的位置,因此只需要把收貨人前面的字串提取出來,再用剛才的公式就能得到結果。

這個很容易實現,利用LEFT FIND組合就能完成,公式為:=LEFT(A2,FIND("收貨人",A2)),結果如圖所示:

實用Excel技巧分享:搞懂提取手機號碼的經典公式!

關於LEFT FIND組合比較好理解,如果有問題可以留言,我們會將類似的幾個常用組合整理一篇教學。

現在將縮小範圍後的結果代入先前的公式,就有了最終的公式:=LOOKUP(9E 307,--MID(LEFT(A2,FIND("收貨人",A2)) ,ROW($1:$99),11))

實用Excel技巧分享:搞懂提取手機號碼的經典公式!

#結果出現錯誤值說明訂單資訊中沒有手機號碼。

總結:關於這個公式的原理為大家進行了分析,從今天這個案例中,可以了解到如何拆分一個看上去很複雜的問題,方法就是一點一點找規律,規律性越強,解決想法越多。

其實這個問題還有另外一個思路,就是用公式:

=MAX(IFERROR(--MID(LEFT(A2,FIND("收",A2)) ,ROW($1:$99),11),0))來完成。

實用Excel技巧分享:搞懂提取手機號碼的經典公式!

有興趣的夥伴可以試試自己分析公式的原理,當然也可以留言,看大家的需要,就這個公式再講一次。

相關學習推薦:excel教學

以上是實用Excel技巧分享:搞懂提取手機號碼的經典公式!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:itblw.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!