vlookup函數(shù)從菜鳥到高手,看這一篇文章就夠了泊藕!

vlookup是Excel中一個非常重要的辅辩、并且使用頻率極高的查找函數(shù),官方的含義是:搜索表區(qū)域首列滿足條件的元素娃圆,確定待檢索單元格在區(qū)域中的行序號汽久,再進(jìn)一步返回選定單元格的值。

簡單的說就是在包含查找值的某個區(qū)域的首列進(jìn)行查找踊餐,查找到匹配的數(shù)據(jù)以后,然后返回該區(qū)域同一行上的單元格中的值臀稚。

vlookup函數(shù)不僅可以進(jìn)行單條件查找吝岭,還可以進(jìn)行一對多查找、多條件查找、正向查找窜管、反向查找散劫,甚至利用它的模糊匹配功能,代替IF函數(shù)做條件判斷幕帆,那么今天牛哥就來跟大家分享一下vlookup函數(shù)在多場景下的使用方法获搏。

先來看下vlookup函數(shù)的語法:

vlookup(lookup_value,table_array,col_index_num,[range_lookup])

第1參數(shù)lookup_value:表示要在表格或區(qū)域的第一列中查詢的值。

第2參數(shù)table_array:表示要查詢的單元格區(qū)域失乾,這個區(qū)域中的首列必須要包含查詢值常熙,否則公式將返回錯誤值。

第3參數(shù)col_index_num:用于指定返回查詢區(qū)域中第幾列的數(shù)值碱茁。

第4參數(shù)[range_lookup]:可選裸卫,決定函數(shù)的查找方式,如果是為FALSE或0纽竣,則是采用精確匹配方式墓贿;如果為TRUE或1,則使用近似匹配方式蜓氨,同時要求查詢區(qū)域的首列必須按照升序進(jìn)行排序聋袋。

下面牛哥將通過幾個具體的實例,來詳細(xì)的介紹一下vlookup函數(shù)的使用方法穴吹。

單條件查找之:查找并返回單列記錄

如下圖所示幽勒,左側(cè)單元格區(qū)域 A2:C12 中為學(xué)生的成績表,學(xué)生姓名在該區(qū)域的第一列刀荒,

右側(cè)單元格區(qū)域E2:F5為查詢表代嗤,要求根據(jù)學(xué)生的姓名,使用 vlookup 函數(shù)查找出對應(yīng)學(xué)生的數(shù)據(jù)成績缠借。

在F2單元格中輸入公式:=vlookup(E2,$A$2:$C$12,3,0)干毅,然后向下拖動填充公式至F5單元格,所要查找的學(xué)生數(shù)學(xué)成績就出來了泼返。

Vlookup函數(shù)查找并返回單列記錄公式解析:

第1參數(shù):E2硝逢,為單元格引用,表示要查找的值绅喉,即姓名渠鸽,因為要依次查找每一個姓名,所以公式需要向下拖動復(fù)制柴罐,引用的單元格也要相應(yīng)變成E3徽缚,E4...所以不需要固定;

第2參數(shù):$A$2:$C$12革屠,表示包含查找值的單元格區(qū)域凿试,該區(qū)域中第一列(A列)包含查找值排宰,所以符合要求,

查找區(qū)域要固定不變那婉,引用的單元格不能隨著公式的向下填充而變動板甘,所以使用了$對行號進(jìn)行了固定;

第3參數(shù):3详炬,這個參數(shù)是用于返回哪1列上的值盐类,而數(shù)學(xué)成績位于A2:C12區(qū)域中的第3列,所以要返回第3列的值呛谜;

第4參數(shù):0在跳,因為是精確匹配,所以該參數(shù)為0或FALSE呻率。

單條件查找之:查找并返回多列記錄

如下圖案例所示硬毕,這個案例是要求根據(jù)右側(cè)學(xué)生的學(xué)號(G2單元格),在左側(cè)單元格區(qū)域A2:E12中礼仗,查找出對應(yīng)學(xué)生的姓名吐咳,語文、數(shù)學(xué)元践、英語三科的成績韭脊。

在H2單元格中輸入公式:=vlookup($G2,$A2:$E12,COLUMN(B1),FALSE),并向右拖動填充公式到K2單元格单旁。

Vlookup函數(shù)查找并返回多列記錄公式解析:

第1參數(shù):$G2沪羔,為要查找的值,即通過學(xué)號象浑,分別查找出姓名和各科成績蔫饰,所以公式會向右復(fù)制填充,但是查找的值為單元格引用愉豺,公式在向右填充時不能變動篓吁,否則就會出錯,所以要使用$對列號固定蚪拦。

第2參數(shù):$A2:$E12杖剪,為查找區(qū)域,第一列包含查找值的(學(xué)號)驰贷,同樣公式要向右填充盛嘿,也要保持查找區(qū)域固定不變;

第3參數(shù):COLUMN(B1)括袒,返回對應(yīng)列上的值次兆,因為本案例的目的是要隨著公式向右復(fù)制,從而依次返回姓名锹锰、語文芥炭、數(shù)學(xué)狈邑、英語三科的成績,所以參數(shù)是要隨著變動的蚤认,而姓名在第2列,語文在第3列糕伐,數(shù)學(xué)在第4列砰琢,英語在第5列,所以使用函數(shù)COLUMN(B1)返回列號2良瞧,當(dāng)公式向右填充時陪汽,依次會變成COLUMN(C1)返回列號3,COLUMN(D1)返回列號4褥蚯,COLUMN(E1)返回列號5挚冤,來達(dá)到返回對應(yīng)列號值的目的。

第4參數(shù):FALSE赞庶,精確匹配训挡,上面講過,0和FALSE在這里都代表精確匹配,所以這里也可以使用了FALSE表示歧强。

單條件查找之:vlookup跨工作表查找

這個案例澜薄,查找值和查找區(qū)域分別放在了兩個不同的工作表,要求根據(jù)查詢表中的產(chǎn)品編號(查找值)摊册,在產(chǎn)品表(查找區(qū)域)中進(jìn)行查找肤京,并將對應(yīng)的產(chǎn)品信息返回到查詢表中。

產(chǎn)品表

查詢表

在查詢表中的B2單元格中輸入公式:=vlookup($A2,產(chǎn)品表!$A:$F,COLUMN(B1),0)并向右茅特、向下拖動填充到F7單元格忘分。

vlookup跨工作表查找公式解析:

第1參數(shù):$A2,查找值白修,公式要分別向右妒峦、向下填充,要保持向右填充查找列一直處在A列熬荆,所以列號固定不變舟山,向下填充,查找的產(chǎn)品編號要跟著變化卤恳,所以行號無需固定累盗;

第2參數(shù):產(chǎn)品表!$A:$F,查找區(qū)域突琳,因為是跨工作表查找若债,所以跨工作表引用的表示方法為:工作表名稱!表格區(qū)域(如,產(chǎn)品表!$A:$F)拆融。另外在輸入公式的這一處時蠢琳,可以直接通過點擊鼠標(biāo)切換到“產(chǎn)品表”工作表中啊终,選擇目標(biāo)單元格區(qū)域,前面會自動加上工作表名稱傲须。同樣這里的查找區(qū)域也要進(jìn)行固定蓝牲。

第3參數(shù)和第4參數(shù)和上面的案例相似,這里就不多做介紹了泰讽,大家不理解的可以去看下上面兩個案例中第2例衍,第3參數(shù)的解析。

多條件查找之:vlookup結(jié)合輔助列查找

如下圖要求查找出A已卸、B佛玄、C、D店對應(yīng)月份的銷量和營業(yè)額累澡。

實際上這里的輔助列的用法就是用連接符&把多個條件梦抢,連接成一個條件,然后再使用vlookup函數(shù)進(jìn)行查找愧哟,所以查找之前奥吩,要在查找區(qū)域所在的表建立一個輔助列,將門店和月份用連接符&連接起來翅雏,如:A2=B2&C2A1月)

然后在J2單元格中輸入公式:=VLOOKUP($H2&$I2,$A$2:$E$17,COLUMN(D:D),FALSE)圈驼,并向右、向下拖動填充公式至K5單元格望几。

vlookup結(jié)合輔助列查找公式解析:

第1參數(shù):$H2&$I2绩脆,表示要查找的值,即用連接符&將兩個條件連接成了一個條件橄抹,連接后的查找值會變成:"A店3月"靴迫,因為公式要向右富雅、向下填充突委,向右填充時要保持列號固定不變匙姜,所以使用相對引用固定列號饶号,行號要隨著向下填充變化,所以無需固定缅刽。

第2參數(shù):$A$2:$E$17捡絮,表示查找區(qū)域暖混,因為第一列要包含查找值榄融,第一列是構(gòu)建的輔助列参淫,正好是包含查找值的,同樣公式要向右愧杯、向下填充涎才,要保持查找區(qū)域不能隨著公式的移動而發(fā)生變化,所以也要使用絕對引用力九。

第3參數(shù):COLUMN(D:D)耍铜,這個參數(shù)是用于返回第幾列上的值邑闺,本案例的目的是要隨著公式向右復(fù)制,從而依次返回銷量棕兼、銷售額陡舅,參數(shù)是要隨著變動的,而銷量在查找區(qū)域的第4列伴挚,銷售額在第5列蹭沛,所以使用函數(shù)COLUMN(D:D)返回列號4,當(dāng)公式向右填充時章鲤,會變成COLUMN(E:E)返回列號5,來達(dá)到返回對應(yīng)列號值的目的咆贬。

第4參數(shù):0败徊,因為是精確匹配,所以該參數(shù)為0或FALSE掏缎。

多條件查找之:vlookup結(jié)合數(shù)組的用法

上面的那個案例是借助輔助列的方法來完成多條件查找皱蹦,但是如果有新的數(shù)據(jù)添加進(jìn)來,每次都要先更新一下輔助列眷蜈,步驟有點繁瑣沪哺,而接下來這個案例只要使用IF函數(shù),結(jié)合數(shù)組同樣也能夠?qū)崿F(xiàn)vlookup函數(shù)的多條件查找酌儒,而且步驟一點都不繁瑣辜妓。

在I2單元格中輸入公式:=VLOOKUP($G2&$H2,IF({1,0},$A$2:$A$17&$B$2:$B$17,C$2:C$17),2,FALSE),并向右忌怎、向下拖動填充公式至J5單元格籍滴。

vlookup結(jié)合數(shù)組應(yīng)對多條件查找公式解析:

第1參數(shù):$G2&$H2,表示查找值榴啸,同樣和上一個案例一樣也是用連接符&將兩個條件連接成了一個條件孽惰,這里的第1參數(shù)和上一個案例的第一參數(shù)意思是一樣,所以就不多做解釋鸥印。主要區(qū)別在第2參數(shù)勋功。

第2參數(shù):IF({1,0},$A$2:$A$17&$B$2:$B$17,C$2:C$17),表示查找區(qū)域库说,使用了if函數(shù)對數(shù)據(jù)組內(nèi)的{1,0}進(jìn)行條件判斷:

當(dāng)為1時返回$A$2:$A$17&$B$2:$B$17狂鞋,作為查找區(qū)域的第一列,因為這里也使用了連接符&璃弄,將門店和月份進(jìn)行了連接要销,所以符合查找區(qū)域第一列包含查找值;

當(dāng)為0時返回C$2:C$17夏块,并且作為查找區(qū)域的第二列疏咐,在第3參數(shù)中需要返回該列的(銷量)數(shù)據(jù)纤掸;

同樣公式要向右、向下填充浑塞,查找區(qū)域的第一列要使用絕對引用進(jìn)行固定借跪,而查找區(qū)域的第二列,使用相對引用酌壕,向下填充要保持行號不變掏愁,列號要隨著向右的拖動變成D$2:D$17,這樣就可以在J2:J5區(qū)域返回營業(yè)額的數(shù)據(jù)了卵牍。

第3參數(shù):2果港,返回區(qū)域中的第二列,雖然要返回的數(shù)據(jù)是兩列糊昙,銷量和營業(yè)額辛掠,但是當(dāng)公式向右填充到J2單元格時,公式就變成了:=VLOOKUP($G2&$H2,IF({1,0},$A$2:$A$17&$B$2:$B$17,D$2:D$17),2,FALSE)释牺,這樣D$2:D$17就變成了查找區(qū)域的第二列萝衩,所以返回該列的值了。

第4參數(shù):同樣精確匹配没咙。

Vlookup結(jié)合數(shù)組進(jìn)行反向查找

下圖表格中要求猩谊,根據(jù)姓名,查找對應(yīng)的學(xué)生編號祭刚,前面的案例都是向右查找牌捷,而這個案例是向左查找。

vlookup函數(shù)在查找時涡驮,要求查找區(qū)域的第1列必須要包含查找值宜鸯,然后向右返回對應(yīng)行的值,這個案例要返回的值在第1列遮怜,包含查找的值在第2列淋袖,所以我們可以使用if函數(shù)來構(gòu)建一個數(shù)組,做一個位置調(diào)換锯梁,將左表的B列放在查找區(qū)域的第一列即碗,A列放在在第二列,這樣就可以使用vlookup進(jìn)行查找了陌凳。

在H2單元格中輸入公式:=vlookup(G2,IF({1,0},B$2:B$12,A$2:A$12),2,0) 剥懒,并向下拖動填充到H3單元格。

vlookup反向查找公式解析:

第1合敦、3初橘、4參數(shù),和前面的幾個案例意思是一樣的,這里面就不具體介紹了保檐,

對第2參數(shù)做一下解釋:IF({1,0},B$2:B$12,A$2:A$12) 耕蝉,使用If函數(shù)構(gòu)建了一個數(shù)組,當(dāng)條件滿足時先返回姓名這一列夜只,然后再返回學(xué)號這一列垒在,數(shù)組結(jié)果為:{"張明明","NX-003";"黃海","NX-005";"夏紅鑫","NX-011";.....}這樣就可以進(jìn)行正常的查找了。

如果前面的關(guān)于數(shù)組的案例的公式理解了扔亥,這里就容易理解了场躯。

單條件查找之:一對多查找

這里的一對多查找的意思是,通過一個條件旅挤,查找并返回所有匹配該條件的記錄值踢关, vlookup函數(shù)在進(jìn)行數(shù)據(jù)查找時,只匹配第一個符合條件的記錄粘茄,后面即使有重復(fù)的記錄也不會再匹配耘成,所以就要結(jié)合輔助列、數(shù)組來完成一對多的查找驹闰。

如下圖案例所示,要求找出陳強4月份的所有出勤日期撒会。

在使用vlookup函數(shù)查找之前嘹朗,要先在出勤日期這一列后面添加一個輔助列,并且使用Countif函數(shù)統(tǒng)計出姓名是第幾次重復(fù)出現(xiàn)的诵肛。在C2單元格中輸入公式:=COUNTIF($A$2:A2,A2),并向下拖動填充到C30單元格屹培。

然后在E2單元格中輸入公式:=VLOOKUP("陳強"&ROW(1:1),IF({1,0},$A$2:$A$30&$C$2:$C$30,B$2:B$30),2,FALSE),并向下拖動填充公式怔檩,直至出現(xiàn)錯誤值褪秀。

說下解題思路:

vlookup函數(shù)在查找數(shù)據(jù)時,遇到多條重復(fù)的記錄薛训,只會匹配第1條記錄媒吗,后面重復(fù)的會被忽略,而想要把每一條重復(fù)的記錄都找出來乙埃,就要讓查找區(qū)域第一列的值都變成唯一值闸英,

所以:需要增加一個輔助列(C列),先通過countif函數(shù)介袜,統(tǒng)計姓名是第幾次重復(fù)出現(xiàn)甫何,并和姓名連接起來,這樣查找區(qū)域首列重復(fù)的姓名遇伞,也變成了唯一值(比如陳強第1次出現(xiàn)時是”陳強1”辙喂、第2次出現(xiàn)時是”陳強2”…),

最后再使用if函數(shù),來實現(xiàn)將連接后的包含查找值的區(qū)域放在首列巍耗,要返回的區(qū)域放在第二列秋麸,即第2參數(shù):IF({1,0},$A$2:$A$30&$C$2:$C$30,B$2:B$30);

那么第1參數(shù):"陳強"&ROW(1:1)芍锦,將要查找的陳強和ROW(1:1)函數(shù)構(gòu)成的數(shù)字相連接竹勉,查找值就會變成:"陳強1",當(dāng)公式向下填充時就會相應(yīng)的變成:"陳強2"娄琉,"陳強3"次乓,這樣查找值就符合查找區(qū)域首列包含查找值的要求了。

最后第3孽水、第4參數(shù)分別是返回對應(yīng)行上第2列的值和精確匹配票腰。

那結(jié)果中沒有查到后返回的錯誤值,能不讓顯示出來呢女气?

只要在外層加上iferror函數(shù)就可以了杏慰,完整的公式:

=IFERROR(VLOOKUP("陳強"&ROW(4:4),IF({1,0},$A$2:$A$30&$C$2:$C$30,B$2:B$30),2,FALSE),"")

vlookup模糊匹配,代替IF做多條件判斷

前面幾個案例都是介紹的精確匹配的用法炼鞠,另外還有一個近似匹配是如何應(yīng)用呢缘滥?

使用vlookup函數(shù)進(jìn)行近似匹配查找的前提是,要查找的區(qū)域的第一列必須是按照升序排序谒主,否則vlookup無法返回正確的值朝扼。

所以這里就利用了vlookup函數(shù)模糊匹配的這個功能來進(jìn)行條件判斷,只要設(shè)置好條件的區(qū)間霎肯,并且按照升序排序擎颖,就可以代替if函數(shù)做條件判斷。

下圖這個案例是根據(jù)左表業(yè)績的等級評定標(biāo)準(zhǔn)观游,對右表相應(yīng)的人員業(yè)績進(jìn)行評定搂捧,如果使用if函數(shù),需要嵌套好幾層懂缕,這里使用vlookup函數(shù)簡短的一段代碼就可以搞定允跑。

在G3單元格中輸入公式:=vlookup(F3,A$3:B$7,2,1) ,向下拖動填充到G11單元格搪柑。

vlookup做多條件判斷公式解析:

第1參數(shù):F3吮蛹,表示要查找的值,即:業(yè)績拌屏;

第2參數(shù):A$3:B$7潮针,表示要查找的區(qū)域,因為本案例是近似匹配倚喂,所以查找的區(qū)域第一列必須要按照升序排序每篷,條件區(qū)間分別為:0代表瓣戚,0-59、60代表焦读,60-69子库、70代表,70-79矗晃、80代表仑嗅,80-89、90代表张症,90-99仓技。

第3參數(shù):2,返回等級所在的列號俗他。

第4參數(shù):1脖捻,模糊匹配,也可以使用TRUE表示兆衅,Vlookup模糊匹配的用法是:在對查找區(qū)域內(nèi)進(jìn)行查找時地沮,如果沒有找到相等的值,則會將小于查找值的最大值返回出來羡亩。所以查找F3單元格的業(yè)績(49)時摩疑,查找到的是0,返回的等級是E畏铆。

關(guān)于vlookup函數(shù)的使用方法雷袋,今天的分享就到這里了,內(nèi)容比較多及志,建議大家收藏,然后仔細(xì)的看完寨腔,如果這些方法都掌握了速侈,相信能夠解決Excel工作中的大部分查找難題。

如果文中有不明白的地方迫卢,歡迎大家給牛哥留言倚搬,另外如需要本案例的素材源文件,大家可以私信牛哥哦乾蛤。

如果你覺得這篇文章讓你掌握了vlookup函數(shù)的更多使用方法每界,就給我點贊吧。

關(guān)注我家卖,學(xué)習(xí)更多Excel辦公技能上荡,后續(xù)會不斷的輸出更多高階技能哦!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市疏虫,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌斯议,老刑警劉巖哼御,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件恋昼,死亡現(xiàn)場離奇詭異,居然都是意外死亡嗦哆,警方通過查閱死者的電腦和手機老速,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進(jìn)店門卿吐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來嗡官,“玉大人衍腥,你說我怎么就攤上這事坊罢∥镉觯” “怎么了询兴?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長眶根。 經(jīng)常有香客問我属百,道長族扰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任扩氢,我火速辦了婚禮耍属,結(jié)果婚禮上厚骗,老公的妹妹穿的比我還像新娘领舰。我一直安慰自己舍咖,他們只是感情好排霉,可當(dāng)我...
    茶點故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布球订。 她就那樣靜靜地躺著,像睡著了一般开睡。 火紅的嫁衣襯著肌膚如雪士八。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天蝗茁,我揣著相機與錄音毛秘,去河邊找鬼艰匙。 笑死员凝,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的宣吱。 我是一名探鬼主播,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼叼架!你這毒婦竟也來了乖订?” 一聲冷哼從身側(cè)響起甜无,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤奥帘,失蹤者是張志新(化名)和其女友劉穎扔茅,沒想到半個月后难述,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體萤晴,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡吐句,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了店读。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嗦枢。...
    茶點故事閱讀 38,673評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖屯断,靈堂內(nèi)的尸體忽然破棺而出文虏,到底是詐尸還是另有隱情,我是刑警寧澤殖演,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布氧秘,位于F島的核電站,受9級特大地震影響趴久,放射性物質(zhì)發(fā)生泄漏丸相。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一彼棍、第九天 我趴在偏房一處隱蔽的房頂上張望灭忠。 院中可真熱鬧,春花似錦座硕、人聲如沸弛作。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽映琳。三九已至,卻和暖如春蜘拉,著一層夾襖步出監(jiān)牢的瞬間刊头,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工诸尽, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留原杂,地道東北人。 一個月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓您机,卻偏偏與公主長得像穿肄,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子际看,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,562評論 2 349

推薦閱讀更多精彩內(nèi)容