[忤旭]《Excel》VLOOKUP數(shù)據(jù)匹配

大家好,我是忤旭!
今天這期并不是游戲攻略分享,而是Excel中VLOOKUP函數(shù)的使用心得分享。Excel是微軟開(kāi)發(fā)的一款電子表格處理軟件,它既能使用基礎(chǔ)功能完成電子表格的基礎(chǔ)編輯,又能使用函數(shù)功能完成高級(jí)處理,比如制作《全境封鎖2》的計(jì)算器。
這期的靈感來(lái)源于我一個(gè)不懂計(jì)算機(jī)的朋友,他需要制作一張表格,表格要求是抬頭要用下拉選項(xiàng)選擇,清單自填。一開(kāi)始他只要求可選3個(gè)抬頭,當(dāng)我使用IF函數(shù)完成后,他說(shuō):“以后你不在我身邊時(shí),我想添加抬頭該怎么辦?”。這時(shí)問(wèn)題就上升到了動(dòng)態(tài)增加/減少下拉選項(xiàng),無(wú)上限數(shù)據(jù)匹配。也便有了今天這期的分享。
文章基于Excel版本2019,詳細(xì)講述了如何制作下拉選項(xiàng)、少量數(shù)據(jù)匹配IF函數(shù)和大量數(shù)據(jù)匹配VLOOKUP函數(shù),希望對(duì)需要的朋友有所幫助和啟發(fā)。
一.使用數(shù)據(jù)驗(yàn)證制作下拉選項(xiàng)





二.使用IF函數(shù)進(jìn)行少量數(shù)據(jù)匹配
先來(lái)講解一下IF函數(shù)格式
=IF(logical_test?,?[value_if_true]?,?[value_if_false])
logical_test:必填項(xiàng),代表?xiàng)l件語(yǔ)句,如E1=0,意為E1單元格等于0嗎?結(jié)果要么是TRUE,要么是FALSE
[value_if_true]:可缺省項(xiàng),默認(rèn)為0,代表當(dāng)結(jié)果是TRUE時(shí)的函數(shù)返回值。
[value_if_false]:可缺省項(xiàng),默認(rèn)為0,代表當(dāng)結(jié)果是FALSE時(shí)的函數(shù)返回值。
函數(shù)返回值是指整個(gè)函數(shù)運(yùn)算結(jié)束后所得到的值。
假設(shè)在A1單元格內(nèi)是一條IF函數(shù),它運(yùn)算結(jié)束后得到的值為0,那A1單元格中就填入0。
例子
=IF(E1=0 , 1 , 2)
意為先判斷E1是否等于0,若等于0,則函數(shù)返回1,否則函數(shù)返回2
=IF(E1=0?,?IF(E2=0 , 1 ,?2)?,?3)
這是IF函數(shù)的嵌套用法,意為先判斷E1是否等于0,若等于0,則函數(shù)返回IF(E2=0?, 1?,?2),但返回的并不是一個(gè)值而是別一個(gè)函數(shù),所以得將這個(gè)返回的函數(shù)繼續(xù)計(jì)算,再次判斷E2是否為0,若等于0,則函數(shù)返回1,否則函數(shù)返回2。到此E1=0的情況分析完畢,當(dāng)E1不等于0時(shí),則函數(shù)返回3。
以上就是IF函數(shù)的簡(jiǎn)單用法。
那如何使用IF函數(shù)進(jìn)行少量數(shù)據(jù)匹配呢?


圖中函數(shù)為=IF(B1=E1,F1,IF(B1=E2,F2,F3))
功能可以概括為按照E列第幾行來(lái)返回F列第幾行
功能分析為當(dāng)B1=E1時(shí),則返回F1,否則返回IF(B1=E2,F2,F3),這里是看看選擇的是A嗎?是就返回A對(duì)應(yīng)的1,否則繼續(xù)往下排查。
IF(B1=E2,F2,F3)同理為當(dāng)B1=E2時(shí),則返回F2,否則返回F3,這是看看選擇的是B嗎?是就返回B對(duì)應(yīng)的2,否則一定是C,然后返回C對(duì)應(yīng)的3。
三.使用VLOOKUP函數(shù)進(jìn)行大量數(shù)據(jù)匹配
同樣先來(lái)講一下VLOOKUP函數(shù)的格式
=VLOOKUP(lookup_value , table_array , col_index_num , [range_lookup])
lookup_value:必填項(xiàng),想要查找的數(shù)據(jù)。
table_array:必填項(xiàng),以供查找的數(shù)據(jù)關(guān)系表。
col_index_num:必填項(xiàng),當(dāng)在數(shù)據(jù)關(guān)系表中找到目標(biāo)數(shù)據(jù)時(shí),想要返回的(目標(biāo)數(shù)據(jù)右邊的第i列的)數(shù)據(jù)的列號(hào)i。
[range_lookup]:選填項(xiàng),0代表精確查找,源數(shù)據(jù)和目標(biāo)數(shù)據(jù)必須完全相同,1代表粗略查找,常用于數(shù)值查找中,當(dāng)找不到和源數(shù)據(jù)相同的目標(biāo)數(shù)據(jù)時(shí),返回比源數(shù)據(jù)小的目標(biāo)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)。
例子
單個(gè)單元格數(shù)據(jù)匹配

=VLOOKUP(B1 , E1:F5 , 2 , 0)
意為從E1:F5區(qū)域中找到B1并返回E1:F5區(qū)域中的第2列,可見(jiàn)如果B1中是A則返回E1:F5區(qū)域中第2列的1,如果B1中是B則返回E1:F5區(qū)域中第2列的2。
多個(gè)單元格數(shù)據(jù)匹配

但要注意的是,快速填充會(huì)改變函數(shù)中的相對(duì)引用地址,即數(shù)據(jù)關(guān)系表的地址會(huì)被改變,因此在快速填充前要先將函數(shù)中數(shù)據(jù)關(guān)系表的地址變?yōu)榻^對(duì)引用,使用快捷鍵F4進(jìn)行相對(duì)引用和絕對(duì)引用快速轉(zhuǎn)換。
即更正為=VLOOKUP(B1 , $E$1:$F$5 , 2 , 0)

使用VLOOKUP函數(shù)可以快速對(duì)多個(gè)單元格進(jìn)行數(shù)據(jù)匹配,效率是IF函數(shù)無(wú)法比擬的,但I(xiàn)F函數(shù)一定也可以實(shí)現(xiàn)多個(gè)單元格的數(shù)據(jù)匹配,只不過(guò)需要付出更多代價(jià)(函數(shù))。
最后是動(dòng)態(tài)添加/減少下拉選項(xiàng)和數(shù)據(jù)關(guān)系表
先實(shí)現(xiàn)動(dòng)態(tài)添加/減少下拉選項(xiàng)





再實(shí)現(xiàn)動(dòng)態(tài)添加/減少數(shù)據(jù)關(guān)系表

