VLOOKUP函數變態用法,74.2%的人不知道

圖片

你們好,我是星光。
數組

我們今天繼續聊聊VLOOKUP函數,有人問我爲啥這麼執迷於VLOOKUP函數,聊了一期又一期的。這個說來話就長了,這牽扯到俺的一點小隱私。和不少表親同樣,VLOOKUP是俺掌握的第一個查詢函數,可謂之爲初戀,嘿!那誰,您說,初戀怎麼可以忘記呢?ide

由於沒法忘記,因而反覆回憶,因此結果就成了這個樣子……。函數

圖片

說正事,別拍磚,快看題:spa

圖片

如上圖所示,是某小區多名業主的信息表。blog

如諸君所見,A列是業主的姓名,B列是一些雜亂的信息。圖片

要求在C列,提取出B列的手機號碼。內存

B列的信息真是奇葩,除了手機號碼,還有職業,有婚姻情況,有愛好,有雜感,有病情——ci

這是誰胡編亂造?也太有水平了,真是讓人不得不佩服……it

——暫停幾分鐘再向下看,請先使用VLOOKUP解題兒吧。class

圖片

暫停回來,我們看用到的公式:

=VLOOKUP(0,MID(B2,ROW($1:$99),11)*{0,1},2,0)

在C2單元格輸入上面的數組公式,按住Ctrl和Shift鍵不放,再按Enter鍵,向下複製公式。


簡單說下公式的含義和解題的思路:

咱們知道手機號碼是由11位數字構成的。

MID(B2,ROW($1:$99),11)部分,MID函數依次從B2的第一、二、三、4……直至99個位置,提取長度爲11位的字符,而後分別乘以0和1,即常量數組{0,1}。

以C2單元格中祝洪忠童鞋的信息爲例:

若是MID函數的結果爲文本,好比「愛吃魚刺不愛吃魚真傻」,那麼乘以{0,1}後,結果爲錯誤值{ #VALUE!, #VALUE!};

若是MID函數的結果爲數值,好比18359282475,結果爲{0,18359282475}。

由此創建了一個2列99行的內存數組,做爲VLOOKUP函數的查詢區域。

VLOOKUP用0做爲查找值,採用精確匹配的方式,在以上內存數組的第一列查詢首個0出現的位置,而且返回相對應的內存數組第二列的結果,因而便獲得了手機號碼。

結果以下:

圖片

公式多奇妙,試過才知道。有的小夥伴可能對計算過程仍是懵懵懂懂,這也不要緊,能夠先收藏一下,萬一哪天遇到了這樣奇葩的數據,就要拿出變態的方法來對付了。

好了,今天的內容就是這樣吧,祝各位一週好心情!

相關文章
相關標籤/搜索