在使用Excel的過程中,我們經(jīng)常需要從某些工作表中查詢有關(guān)的數(shù)據(jù)復(fù)制到另一個工作表中,而這幾個工作表中的數(shù)據(jù)的順序是不完成一樣的,并不能直接復(fù)制粘貼,這時候就需要用到查找函數(shù)。而查找函數(shù)中,用得最多的要數(shù)VLOOKUP,下面就詳細的來講解下VLOOKUP函數(shù)的用法。
1.根據(jù)QQ號查找昵稱
=VLOOKUP(D2,$A$2:$B$10,2,FALSE)
內(nèi)功修煉:
VLOOKUP語法為:=VLOOKUP(查找值,區(qū)域,區(qū)域中第N列,查找模式)。
查找模式:FALSE(0)代表精確查找,TRUE(1)代表模糊查找(省略也是模糊查找)。
2.屏蔽查找錯誤值
如上圖所示,當(dāng)查找的值不存在時,會出現(xiàn)“#N/A”的錯誤值,這時候看起來很不美觀喲。那么如何屏蔽掉“#N/A”呢?這時可以使用容錯函數(shù)IFERROR,如果是Excel 2013或以上版本,還可以使用IFNA,該函數(shù)專門用于處理“#N/A”錯誤。
=IFERROR(VLOOKUP(D3,$A$2:$B$10,2,FALSE),'') 或
=IFNA(VLOOKUP(D2,$A$2:$B$10,2,FALSE) ,'')
函數(shù)語法如下:
=IFERROR(表達式,錯誤值要顯示的結(jié)果)
=IFNA(表達式,錯誤值要顯示的結(jié)果)
說白了,這兩個函數(shù)就是將錯誤值顯示為你想要的結(jié)果,不是錯誤值就返回原來的值。
3.按順序返回多列對應(yīng)值
如上圖所示,我們要返回兩列的數(shù)據(jù),可以通過修改第三參數(shù),返回各項的對應(yīng)值:
=VLOOKUP(A16,$A$2:$G$13,2,0)
=VLOOKUP(A16,$A$2:$G$13,3,0)
如果項目比較少,更改幾次也沒什么關(guān)系,但是如果當(dāng)項目多時,卻會十分不方便。
這時可以使用ROW、COLUMN產(chǎn)生行列號,從而得到1、2、3、n的值。如:
=VLOOKUP($A16,$A$2:$G$13,COLUMN(),0)
4.按不同順序返回多列對應(yīng)值
如上圖所示,COLUMN就派不上用場了,是不是只能手動更改第三個參數(shù)了呢?答案當(dāng)然是否定的,我們要相信Excel的超能力,也許只是我們自己不知道或者一時想不到。Excel查找與引用函數(shù)里面還有一個功能強大的MATCH函數(shù),可以更改為:
=VLOOKUP($A16,$A$2:$G$13,MATCH(B$15,$A$1:$G$1,0),0)
MATCH函數(shù)的語法如下:
=MATCH(查找值,區(qū)域,排列順序),排列順序一共有三個值,1代表升序排列,0代表任意順序排列,-1代表降序排列,默認為1。
5.VLOOKUP逆向查找
VLOOKUP幫助中提到其只能按照首列進行查找,不能逆向查找,既然如此,就得想辦法將非首列的區(qū)域轉(zhuǎn)換為首列。如何轉(zhuǎn)換呢,這時就要使用IF函數(shù)的高級用法了,即數(shù)組函數(shù),這里不詳細講解,之后會有專門的專題講解。如下:
=IFNA(VLOOKUP(D2,IF({1,0},$B$2:$B$10,$A$2:$A$10),2,0),'')
6.VLOOKUP多條件查詢
同樣,VLOOKUP幫助中提到其只能進行單一條件查找,不能進行多條件查找。通過使用IF函數(shù)來重新構(gòu)造區(qū)域,就可以實現(xiàn)多條件查詢。如要通過身份證和姓名兩個條件來查詢民族:
公式如下:
=IFNA(VLOOKUP(A16&B16,IF({1,0},$A$2:$A$13&$B$2:$B$13,$E$2:$E$13),2,0),'') ,最后需要按Ctrl+Shift+Enter組合鍵(數(shù)組公式)結(jié)束。
7.根據(jù)第一個字符查找
函數(shù)為:=VLOOKUP(D2&'*',A:B,2,0)。
說明:星號(*)是通配符,代表所有字符;問號(?)代表一個字符。
8.根據(jù)區(qū)間判斷成績等級
如圖,通過添加輔助列的方式可以很輕松的實現(xiàn):
=VLOOKUP(E2,A:C,3)
如果不使用輔助列的話,需要結(jié)合多個函數(shù)來實現(xiàn),下面給出公式,大家有興趣可以自行研究。
=VLOOKUP(E2,IF({1,0},--LEFT($B$2:$B$5,FIND('-',$B$2:$B$5)-1),$C$2:$C$5),2)
只要掌握了以上8條技巧,基本上所有的查詢問題都能解決了。