二維碼 購物車
部落窩在線教育歡迎您!

VLOOKUP&LOOKUP雙雄戰(zhàn)(一):VLOOKUP的漂亮開局

?

作者:小花來源:部落窩教育發(fā)布時間:2019-04-16 09:45:48點擊:7542

分享到:
0
收藏    收藏人氣:1人
版權(quán)說明: 原創(chuàng)作品,禁止轉(zhuǎn)載。

編按:

戰(zhàn)斗的鐘聲再次打響, EXCEL大擂臺終于迎來了查詢雙雄VLOOKUP和LOOKUP的世紀大戰(zhàn)!在接下來的八個回合斗戰(zhàn)中,是查詢巨星VLOOKUP成功捍衛(wèi)榮譽守住擂臺,還是野性十足的LOOKUP首次登頂擂主一炮走紅?且讓我們拭目以待!

EXCEL函數(shù)江湖烽煙再起,函數(shù)大擂臺迎來兩位重量級選手。守擂者是號稱全民偶像、人見人愛車見車載的巨星級函數(shù)VLOOKUP,挑戰(zhàn)者則是名氣不大實力強勁高手LOOKUP函數(shù)!這對與生俱來的對手,究竟會在函數(shù)擂臺上擦出怎樣的火花?青梅煮酒論英雄,讓我們拭目以待!

ROUND 01  基本用法比拼

VLOOKUP是在表格或區(qū)域中按列查找內(nèi)容的函數(shù),它的基本語句是:

=VLOOKUP(查找值,查找區(qū)域,返回值的列號,精確/近似匹配 )

其中:參數(shù)1必須出現(xiàn)在參數(shù)2的首列,參數(shù)3必須在參數(shù)1和參數(shù)2的列數(shù)之間,參數(shù)4可以表示為10。舉個例子,某位海迷想要根據(jù)姓名找出人物對應(yīng)的綽號,于是,他寫了如下公式:

=VLOOKUP(D2,A1:B12,2,0)

公式說明:

VLOOKUP函數(shù)的參數(shù)1是單元格D2——尤斯塔斯·基德,它在參數(shù)2A1:B12的首列A1:A12之中,參數(shù)3的值為2,表示返回參數(shù)2A1:B12的第二列,即B列中的綽號。參數(shù)3不能大于參數(shù)2的最大列數(shù)2。參數(shù)40,表示精確匹配。于是整個函數(shù)公式的含義可以表達為,從A1:B12的首列中找出值等于D2的單元格,返回A1:B12的第二列中與之對應(yīng)的內(nèi)容。

LOOKUP函數(shù)用于查詢一行或一列并查找另一行或列中的相同位置的值,它的基本語句是:

=LOOKUP(查找值,查找區(qū)域,[返回區(qū)域]

其中,參數(shù)2查找區(qū)域須按升序排列。參數(shù)3返回區(qū)域不是必填項目,當參數(shù)3被省略,則以參數(shù)2查找區(qū)域的最后一行或最后一列作為返回區(qū)域,我們稱這種使用方式為數(shù)組形式。但是我們通常建議使用向量形式,即保留參數(shù)3,此時查找區(qū)域和返回區(qū)域均為一列或一行,且大小相同。同樣的例子,我們看看LOOKUP是怎么做的?

=LOOKUP(D9,A1:A12,B1:B12)

什么情況?我用眼睛都能看出的查詢結(jié)果LOOKUP竟然算錯了,莫非LOOKUP函數(shù)失靈了?當然不是,你再返回上一段看一下,沒錯,標紅部分,參數(shù)2查找區(qū)域須按升序排列。

升序排列!升序排列!升序排列!重要的事情說三遍,是誰的小眼睛還沒有看老師!

SO,如果LOOKUP函數(shù)像這樣不聽使喚,那你有可能掉進了LOOKUP的陷阱里,此時你應(yīng)該檢查參數(shù)2是否是按升序排列。如下圖,當A2:A12升序排列后,得到了正確結(jié)果。

PS:與VLOOKUP的遍歷查詢法不同,LOOKUP的查詢原理是二分法,LOOKUP陷阱正與二分法有關(guān),感興趣的小伙伴可以看看往期教程LOOKUP函數(shù)用法全解(下)——LOOKUP函數(shù)的二分法原理》。

由此觀之,在基本用法的較量中,LOOKUP的語句較復(fù)雜且需要對查找區(qū)域進行升序排列,不如VLOOKUP函數(shù)簡潔實用。

第一回合,函數(shù)基本用法,VLOOKUP小勝?。?!

ROUND 02  模糊包含查找比拼

有時候,我們需要查找的數(shù)據(jù)并不能直接通過LOOKUPVLOOKUP的基本用法精確匹配。換句話說,查找值和查找區(qū)域存在某種肉眼可見的對應(yīng)關(guān)系,但并非完全相等。比如,對《海賊王》 這部漫畫不熟悉的小伙伴可能記不全主人公路飛的全名,此時,我們?nèi)绾卫寐凤w這個簡稱在對照表中找到他的綽號呢?這種問題在工作中也非常常見,比如已知供應(yīng)商簡稱找全稱、已知名字找全名等等。類似這樣的問題,我們姑且稱之為模糊包含查找。

對付模糊包含查找問題,我們不能簡單地使用VLOOKUPLOOKUP函數(shù)的基本用法來解決,不然結(jié)果是前者不知所措,后者張冠李戴!??!

那么遇到這種問題,VLOOKUPLOOKUP是不是就都束手無策了呢?當然不是,作為實力強勁的明星查詢函數(shù),怎能就此潰??!和基本用法一樣,VLOOKUPLOOKUP在解決模糊包含查找問題時也是你有你的張良計,我有我的過墻梯。

先來看看VLOOKUP函數(shù)的張良計——通配符,星號"*"和問號"?"。

星號"*":通配任意個字符,通常單獨使用,表示此處可以沒有字符,也可以有任意個字符。

問號"?":通配單個字符,可以重復(fù)使用,表示此處必須有與問號相同個數(shù)的字符。

我們將通配符置于查找值的前面或后面,用英文雙引號將其圈定表示常量字符,并用文本連接符"&"連接起來,形成“"*"&B2”“"*"&B2&"?"”之類的查找值作為VLOOKUP的第一參數(shù),其余參數(shù)與基本用法一致即可。

=VLOOKUP("*"&D3&"*",A1:B12,2,0)

公式說明:查找值中使用了通配符,"*"&D3&"*"表示D3的前后均允許存在任意字符,即只要查找區(qū)域首列A2:A12中的單元格值包含D3(路飛),就返回對應(yīng)的B列值。這就是VLOOKUP的模糊包含查找之道!

我們再來看看LOOKUP函數(shù)的過墻梯——FIND函數(shù)。

由于LOOKUP函數(shù)首個參數(shù)不能使用通配符,我們只能通過文本查找函數(shù)FIND來幫助LOOKUP識別查找區(qū)域中是否包含查找值。FIND函數(shù)的基本語句是=FIND(查找文本,包含查找文本的文本),它可以返回所查找的文本在包含其的文本中首字符出現(xiàn)的位置,例如FIND(孫,孫悟空)=1FIND(悟空,孫悟空)=2。

我們使用FIND函數(shù)來構(gòu)造一個全新的查找區(qū)域,再賦予LOOKUP的第一參數(shù)一個足夠大的數(shù)字,即可完成LOOKUP的模糊查找。

=LOOKUP(100,FIND(D9,A2:A12),B2:B12)

公式說明:查找值100是一個足夠大的數(shù),它一定大于FIND函數(shù)的任意一個返回值,即它大于查找區(qū)域A2:A12的最大文本長度。FIND函數(shù)一一查找D9單元格文本路飛A2:A12中的每個單元格文本中出現(xiàn)的位置。如果只有一個單元格包含文本“路飛”,則A2:A12單元格文本中僅有一個單元格返回數(shù)字,其余單元格均因不包含文本路飛而返回錯誤值#VALUE!。那么,由FIND函數(shù)構(gòu)成的新查找區(qū)域僅由1個數(shù)字和多個#VALUE!組成。

由于LOOKUP的查找值100始終大于FIND的返回值,即查找值大于查找區(qū)域中的值。根據(jù)二分法原理,LOOKUP函數(shù)將返回最接近查找值且小于查找值的數(shù)所對應(yīng)的單元格。在這個例子中,100作為查找值,查找區(qū)域中除了一個數(shù)字6,其他都是錯誤值,因此只能找到6。6所在的單元格是A9,而A9在返回區(qū)域B2:B12中對應(yīng)的單元格是B9,所以返回B9的值“草帽”。

關(guān)鍵要點:LOOKUP的查找值一定要大于FIND的返回值!??!

由此觀之,在模糊包含查找的較量中,VLOOKUP僅憑幾個簡單符號即可四兩撥千斤, LOOKUP卻需要勞師動眾地搬來FIND救場,VLOOKUP在語句的簡便性和易讀性上都遠超LOOKUP。

第二回合,模糊包含查找,VLOOKUP完勝?。?!

在這兩回較量中,VLOOKUP占據(jù)上風,贏得漂亮,有了不錯的開頭。但LOOKUP會甘愿就此落敗嗎?其實他們的較量才剛剛開始,究竟LOOKUP能否扳回劣勢甚至反超,敬請期待它們的第三、第四回合較量!

本文配套的練習課件請加入QQ群:264539405下載。

Excel高手,快速提升工作效率,部落窩教育《一周Excel直通車》視頻和《Excel極速貫通班》直播課全心為你!

掃下方二維碼關(guān)注公眾號,可隨時隨地學習Excel

IMG_256

相關(guān)推薦:

LOOKUP函數(shù)用法①《LOOKUP函數(shù)用法全解(上)——LOOKUP函數(shù)的5種用法

LOOKUP函數(shù)用法②《LOOKUP函數(shù)用法全解(下)——LOOKUP函數(shù)的二分法原理》

VLOOKUP找不到數(shù)據(jù)的原因《你一定要了解:公式?jīng)]錯Vlookup仍找不到數(shù)據(jù)的3大原因》