在Excel中,談到查找函數推薦最多的就是vlookup函數和index—match函數,很多人把兩個函數作為判斷Excel水平的重要指標,可想而知這兩個函數在Excel數據計算中的重要性,本文就和大家一起來看看這兩個函數的用法吧。
一:vlookup函數
說起vlookup函數,相信每個Excel的使用者對其至少略有耳聞,比起lookup、hlookup函數名氣要大得多。因為vlookup函數符合我們的思維習慣,在日常查找中足夠使用了。
vlookup函數有四個參數,函數公式=vlookup(查找依據,查找範圍,查找依據在查找範圍的列數,精確匹配或模糊匹配)。
在下圖中,我們要在G2單元格查找夏侯惇的成績,那麼輸入函數=VLOOKUP(H3,$B$1:$D$20,3,0)就可以了。
在這個函數中,第一個參數為F2,表示查找依據是「夏侯惇」,即我們要根據「夏侯惇」,來查找對應的成績。
第二個參數為$B$1:$D$20,表示查找的區域為B1到D20單元格。此處不能選中A列的數據,因為夏侯惇所在的查找區域中B列是第一列,所以查找區域的選擇要以B列為起點。這裡對於B1:D20單元格選擇後要按F4切換到絕對引用,這樣我們向下拖動填充計算G3單元格的時候引用的查找區域就不會發生變化了。
第三個參數選擇2,因為在選擇的查找區域$B$1:$D$20中,成績在姓名的第2列,如果要查找排名,那麼第三個參數就是3,因為排名在查找區域中姓名的第3列。
第四個參數直接輸入0,表示精確匹配,如果查找不到值,就會返回錯誤。
在G2、G3單元格輸入公式後,向下拖動單元格填充公式就可以查找下面單元格的值了。
在上面的函數中,我們看到橙色和黃色區域中需要輸入兩個公式,這兩個公式只有第3個參數有區別,那麼我們可不可以只用一個函數解決呢?,其實在G2單元格輸入函數=VLOOKUP($F2,$B$1:$D$20,MATCH(G$1,$B$1:$D$1,0),0),然後向右,向下拖動填充公式就可以了。
這裡運用了vlookup函數和match函數嵌套。與上面的函數相比,看上去只有第3個參數由原來的數值變成match函數,但是要特別注意絕對引用與相對引用!
這裡MATCH(G$1,$B$1:$D$1,0),表示查找G1在B1到D1單元格的位置,第3個參數為0表示精確匹配。所以此處G2單元格中match函數返回的結果為2。但是向右拖動時,函數就會變成MATCH(H$1,$B$1:$D$1,0),表示H1在B1到D1單元格的位置,返回結果為3。
二:index—match函數
相對於vlookup函數,index——match函數嵌套可以實現更多方式的查找。比如在反向查找,多條件查找中,利用vlookup函數查找就會比較複雜。而利用index—match函數進行查找就沒有太大區別。
在下圖中,根據排名查找姓名,即實現反向查找。輸入函數公式為=INDEX($B$2:$B$20,MATCH(F2,$D$2:$D$20,0))就可以了。這個函數看上去很長,實際用熟練了感覺某種程度上會比vlookup函數還好用。
對於函數MATCH(F2,$D$2:$D$20,0),表示查找12位於D2到D20單元格第幾行,按F4鍵固定D2:D20單元格也是為了向下拖動填充公式時引用的區域不會發生變化。第3個參數0表示精確匹配。返回的值是2,因為查找依據「12」在選擇區域$D$2:$D$20的第2行。
index函數本來有3個參數,即=index(查找區域,行數,列數),因為我們選中B2:B20單元格只有一列數據,所以有第2個參數行數就可以了,第3個參數可以省略。表示返回B2:B20中第2行數據,即B2單元格的「關羽」。
上面已經提到index函數其實有3個參數,平時我們使用進行查找時往往只用2個參數就夠了,但是使用3個參數可以在二維表格中進行查找。
如下圖所示,如果要查找二維區域內第3行,第4列(D列)的值,那麼可以輸入函數=INDEX(A1:H9,MATCH(K10,$A$1:$H$1,0),MATCH(J11,$A$1:$A$9,0))就可以了。
這個函數只是在index函數裡面嵌套了2個match函數,兩個match函數分別返回查找值在區域的行數和列數(第3行和第4列),而index函數返回選中區域內行列定位的值(第3行和第4列交叉的值)。所以會返回「絲」字。
這就是本文介紹的Excel中vlookup函數和index—match函數的幾種用法,如果有疑問,歡迎在評論區留言或者私信。