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


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

大家好,我是星光。

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

因為無法忘記,於是反覆回憶,所以結果就成了這個樣子……。

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

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

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

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

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

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

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

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

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

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

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

=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的第1、2、3、4……直至99個位置,提取長度為11位的字符,然後分別乘以0和1,即常量數組{0,1}。

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

如果MID函數的結果為文本,比如“愛吃魚刺不愛吃魚真傻”,那麼乘以{0,1}後,結果為錯誤值{ #VALUE!, #VALUE!};

如果MID函數的結果為數值,比如18359282475,結果為{0,18359282475}。

由此建立了一個2列99行的內存數組,作為VLOOKUP函數的查詢區域。

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

結果如下:

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

公式多奇妙,試過才知道。

有的小夥伴可能對計算過程還是懵懵懂懂,這也沒關係,可以先收藏一下,萬一哪天遇到了這樣奇葩的數據,就要拿出變態的方法來對付了。

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

圖文製作:看見星光


分享到:


相關文章: