這一期我們來講講關(guān)于Excel中匹配的問題。提到匹配,相信很多人都知道Vlookup函數(shù)朱躺,沒錯,今天的主講就是Vlookup函數(shù)了搁痛,不過這篇文章是要更加深入的挖掘這個函數(shù)长搀。
我們從以下幾個方面來深入挖掘:易錯點(diǎn)、局限性落追、巧妙應(yīng)用盈滴。
一、易錯點(diǎn)
這里將我們平時用到Vlookup函數(shù)時容易錯的點(diǎn)歸納如下:
1.要查找的數(shù)據(jù)列不在選中范圍的第一列轿钠。
Vlookup函數(shù)要求查找的數(shù)值必須在選中查找范圍的第一列才可以巢钓,而上圖中查找的數(shù)值為編碼,在E2:F21范圍內(nèi)的第二列疗垛,故查找不到症汹,返回錯誤值#N/A。
2.查找的數(shù)據(jù)為數(shù)值型數(shù)字贷腕,而在選擇的范圍內(nèi)這些數(shù)字為文本型數(shù)字背镇。
這個很好理解,文本型數(shù)字與數(shù)值型數(shù)字是匹配不上的泽裳,故返回錯誤值#N/A瞒斩。所以我們在進(jìn)行匹配時一定要注意保持查找值和目標(biāo)區(qū)域的數(shù)字格式一定要一致。
3.查找范圍沒有進(jìn)行絕對引用涮总,導(dǎo)致公式下拉填充時公式引用范圍發(fā)生偏移胸囱。
上圖沒有加絕對引用,在B2單元格公式內(nèi)的引用區(qū)域還是E2:F21瀑梗,但是到了B6單元格烹笔,公式內(nèi)的單元格引用就變成了E6:F25裳扯,而【10002】這個編號確實不在E6:F25范圍內(nèi),所以會查找不到這個值谤职。所以在這里我們就要注意絕對引用的使用了饰豺,在B2單元格輸入公式時,選中范圍后按F4鍵加上絕對引用就可以了允蜈,再下拉公式填充就不會出現(xiàn)錯誤冤吨。
4.查找數(shù)據(jù)或是查找范圍內(nèi)存在不可見字符。
有時我們導(dǎo)出陷寝、復(fù)制的數(shù)據(jù)中可能會存在各種各樣的不可見字符锅很,查找明明可以查得到其馏,但一用Vlookup函數(shù)就匹配不到凤跑,用替換想把空格替換成空又替換不了,這時我們需要用到一個輔助神器:TRIM函數(shù)或者CLEAN函數(shù)叛复,Excel幫助中是這么描述的:
我們就可以先用這些函數(shù)將數(shù)據(jù)清理規(guī)范再去用規(guī)范后的數(shù)據(jù)做匹配仔引。
5.Vlookup函數(shù)第三個參數(shù)列數(shù)超出第二個參數(shù)所選區(qū)域最大列數(shù)。
注意啦褐奥,這里第三個參數(shù)指的是咖耘,我們需要返回的結(jié)果,在我們第二個參數(shù)設(shè)置的范圍內(nèi)的第幾列撬码,所以這個參數(shù)是不能超出第二個參數(shù)所選區(qū)域的最大列數(shù)的儿倒。
6.函數(shù)第四個參數(shù)設(shè)置錯誤。
第四個參數(shù)是設(shè)置精確匹配還是模糊匹配的呜笑,一般而言除了查找數(shù)值對應(yīng)范圍的結(jié)果都是需要精確匹配的夫否,模糊匹配是在太不靠譜。
精確匹配是FALSE叫胁,或者是數(shù)字0
精確匹配是TRUE凰慈,或者是數(shù)字1
這兩個不能弄混了。
二驼鹅、局限性
其實局限性其一在易錯點(diǎn)第一個小點(diǎn)就提到過了微谓,那就是查找的數(shù)據(jù)必須要在所選范圍內(nèi)的第一列,如果在后面還需要手工將其復(fù)制一列到前面输钩。
由于篇幅原因豺型,另外的局限性這里暫時不提,留到下一篇我們講LOOKUP函數(shù)時再提及做對比买乃。
這里講出Vlookup函數(shù)的第一個局限性的原因是姻氨,在這里順便給大家介紹另外兩個函數(shù)組合起來的公式,第一個函數(shù)是INDEX为牍,第二個函數(shù)是MATCH哼绑。對于這兩個函數(shù)進(jìn)行組合就沒有這樣的要求了岩馍,不過,當(dāng)然也有其缺點(diǎn)抖韩,就是略微麻煩點(diǎn)蛀恩,畢竟是兩個函數(shù)嵌套嘛。我們先來依次認(rèn)識下這兩個函數(shù):
INDEX函數(shù)茂浮,三個參數(shù)双谆,第一個參數(shù)是選中范圍,第二個參數(shù)是行數(shù)席揽,第二個參數(shù)是列數(shù)顽馋。連貫起來看看呢,返回指定范圍的指定行的指定列的單元格數(shù)據(jù)幌羞。
MATCH函數(shù)寸谜,也是三個參數(shù),第一個參數(shù)是被查找值属桦,第二個參數(shù)是查找的范圍熊痴,第三個參數(shù)是匹配類型(具體類別看下圖)。不同于Vlookup函數(shù)的是聂宾,MATCH函數(shù)是返回的被查找值在查找范圍的哪一行或者哪一列果善,是一個數(shù)字。那么很好理解系谐,這里第二個參數(shù)只能是一行或者一列的范圍巾陕,而不能是多行多列。第三個參數(shù)是匹配類型纪他,各個數(shù)字代表含義如下圖所示:
兩個函數(shù)介紹完畢鄙煤,那么來公布這倆函數(shù)的組合公式實現(xiàn)查找匹配吧:
=INDEX($E$2:$F$21,MATCH(A2,$F$2:$F$21,0),1)
這里有幾個注意的地方,上圖公式中止喷,兩個劃橫線的地方所代表的區(qū)域必須保持同行不能錯位馆类,不能前面的是1-21行,后面的是2-21行弹谁,這樣匹配出來的結(jié)果就會錯位乾巧。
這個公式的含義就是,用MATCH函數(shù)來找出所要的值在哪一行预愤,再用INDEX引用函數(shù)來引用該范圍內(nèi)的該行墓陈、指定需要的結(jié)果列氧敢。這樣就可以準(zhǔn)確的查找出來我們所需要的結(jié)果啦泞遗!
這個公式雖然看似很復(fù)雜看幼,不過理解了兩個函數(shù)還是很容易寫出來這個公式的,這個雖然比Vlookup函數(shù)復(fù)雜一點(diǎn),但畢竟沒有Vlookup函數(shù)選定區(qū)域的那么復(fù)雜的要求供璧,處理起來更靈活一些存崖。
由于篇幅問題,這篇先到這兒咯睡毒,關(guān)于開篇提到的Vlookup函數(shù)的第三點(diǎn)巧妙應(yīng)用来惧,看下篇文章: