Excel常用函式vlookup怎麼用(表格vlookup函式用法示例)
一個人人都愛、使用頻率最高的函式,有關他的用法,你真的掌握了嗎?
語法格式:
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
VLOOKUP(要查詢的值,查詢區域,要返回的結果在查詢區域的第幾列,精確匹配或近似匹配)
1、精確查詢
根據姓名查詢對應部門:
輸入公式:=VLOOKUP(G2,A:C,3,0)
G2:要查詢的內容
A:C:查詢區域,注意查詢區域的首列要包含查詢的內容
3:要返回的結果在查詢區域的第3列
0:精確查詢
2、近似查詢
根據分數查詢對應等級:
輸入公式:=VLOOKUP(B2,E:F,2,1)
B2:要查詢的內容
E:F:查詢區域,注意查詢區域的首列要包含查詢的內容
2:要返回的結果在查詢區域的第2列
1:近似查詢
注意查詢區域中的首列內容必須以升序排序。
3、格式不一致的查詢
查詢資料為4的數量:
輸入公式:=VLOOKUP(D2,A:B,2,0)
D2:要查詢的內容
A:B:查詢區域,注意查詢區域的首列要包含查詢的內容
2:要返回的結果在查詢區域的第2列
0:精確查詢
這都沒錯啊,為什麼結果會返回錯誤值#N/A呢?
細看之下你就會發現格式不一致
查詢值數值型(D2單元格內容4是數值型)
查詢區域文字型(A列的資料是文字型)
遇到這樣的問題該怎麼解決呢?
格式一致
一是可以利用分列功能將A列分列成常規,與D2單元格格式一致
二是可以將D2單元格內容設成文字格式,與A列格式一致
三是變公式
公式:=VLOOKUP(D2&"",A:B,2,0)
將查詢值連線空(&"")變為文字
接下來順便說下另一種格式不一致問題:
查詢值文字型,查詢區域數值型
查詢值文字型(D2單元格內容4是文字型)
查詢區域數值型(A列的資料是數值型)
輸入公式:
=VLOOKUP(D2^1,A:B,2,0)
^1是將查詢值轉換成和查詢區域一致的格式
轉換方法多種:--、 0、-0、*1、/1...等等
4、萬用字元查詢
根據簡稱查詢對應應收賬款:
輸入公式:
=VLOOKUP("*"&D2&"*",A:B,2,0)
星號(*)匹配任意一串字元。
5、帶“~”的查詢
根據姓名查詢對應部門:
公式沒有錯,結果為什麼會返回錯誤值#N/A呢?
因為查詢內容帶波形符(~)
輸入公式:
=VLOOKUP(SUBSTITUTE(G2,"~","~~"),A:C,3,0)
在查詢包含萬用字元其本身內容時,需在萬用字元前鍵入“~”
用函式SUBSTITUTE將“~”替換成“~~”。
6、取消合併單元格
內容為數值,取消合併單元格:
輸入公式:
=VLOOKUP(9E 307,A$2:A2,1,1)
9E 307是科學記數,表示9*10^307,是Excel允許鍵入的最大數值。
內容為文字,取消合併單元格:
輸入公式:
=VLOOKUP("座",E$2:E2,1,1)
7、查詢第一次價格
根據物料名稱查詢對應第一次價格:
輸入公式:
=VLOOKUP(F2,B:D,3,0)
當查詢區域首列出現有兩個或更多值與查詢值匹配時,函式VLOOKUP返回第一次出現的對應值。
8、交叉查詢
根據產品和地區查詢對應銷量:
輸入公式:
=VLOOKUP(A12,A2:G8,MATCH(B12,A1:G1,0),0)
MATCH(B12,A1:G1,0)部分找到B12單元格內容“華北地區”在區域A1:G1中的位置5,把它作為VLOOKUP函式的第3引數;
公式就是:=VLOOKUP(A12,A2:G8,5,0)
查詢A12單元格內容“產品D”
返回值在區域A2:G8中的第5列,即E列
即E5單元格中的值6945
9、反向查詢
根據工號查詢對應姓名:
函式VLOOKUP可以藉助IF{1,0}與IF{0,1}、CHOOSE{1,2}與CHOOSE{2,1}等等結構將逆序轉換為順序,從而實現查詢。
函式VLOOKUP IF{1,0}結構:
輸入公式:
=VLOOKUP(D2,IF({1,0},B2:B11,A2:A11),2,0)
IF({1,0},B2:B11,A2:A11)部分
當為1時條件成立返回B2:B11
當為0時條件不成立返回A2:A11
可以將IF({1,0},B2:B11,A2:A11)部分抹黑按F9鍵檢視
就是兩列順序對換,將逆序轉換為順序
函式VLOOKUP IF{0,1}結構:
輸入公式:
=VLOOKUP(D2,IF({0,1},A2:A11,B2:B11),2,0)
函式VLOOKUP CHOOSE{1,2}結構:
輸入公式:
=VLOOKUP(D2,CHOOSE({1,2},B2:B11,A2:A11),2,0)
函式CHOOSE:根據給定的索引值,從引數串中選出相應值或操作。
CHOOSE(index_num, value1, [value2], ...)
如果第一引數為1,則CHOOSE返回value1;如果第一引數為2,則CHOOSE返回value2。
CHOOSE({1,2},B2:B11,A2:A11)部分
當條件為1時,返回B2:B11
當條件為2時,返回A2:A11
函式VLOOKUP CHOOSE{2,1}結構:
輸入公式:
=VLOOKUP(D2,CHOOSE({2,1},A2:A11,B2:B11),2,0)
CHOOSE({2,1},A2:A11,B2:B11)部分
當第一引數為2時,則CHOOSE返回對應B2:B11中的值;
當第一引數為1時,則CHOOSE返回對應A2:A11中的值。
把CHOOSE({2,1},A2:A11,B2:B11)部分抹黑按F9鍵檢視
AB兩列順序對換,將逆序轉換為順序,再用函式VLOOKUP查詢。
10、查詢返回多列資料
輸入公式:
=VLOOKUP($F2,$A:$D,COLUMN(B1),0),右拉填充
公式右拉返回結果在第2、3、4列
用函式COLUMN構造
COLUMN(B1)=2,公式右拉變成COLUMN(C1)、COLUMN(D1)得到3、4。
11、按指定次數重複
輸入公式:
=IFERROR(VLOOKUP(ROW(A1),IF({1,0},SUMIF(OFFSET(B$2,,,ROW($1:$4)),"<>"),A$2:A$5),2,0),E2)&""
按
12、結果引用合併單元格內容
A列區域為合併單元格,根據業務員查詢對應的區域:
輸入公式:
=VLOOKUP("座",OFFSET(A2,,,MATCH(D2,B2:B14,0)),1,1)
MATCH(D2,B2:B14,0)部分找到業務員“阿文”在區域B2:B14中的位置11
OFFSET(基點,偏移行數,偏移列數,行高,列寬)
OFFSET(A2,,,11)是以A2單元格為基點,偏移0行0列,返回行高為11的新區域A2:A12的引用。
13、有合併單元格的查詢
A列產品為合併單元格,如何查詢A列產品對應的單價呢?
輸入公式:
=VLOOKUP(VLOOKUP("座",A$2:A2,1,1),F:G,2,0)
比如D5單元格公式=VLOOKUP(VLOOKUP("座",A$2:A5,1,1),F:G,2,0)
A$2:A5部分返回{"產品1";"產品3";0;0}
VLOOKUP("座",A$2:A5,1,1)部分用"座"查詢最後一個單元格內容,即返回“產品3”
外層再套個VLOOKUP精確查詢
即D5單元格公式就是=VLOOKUP("產品3",F:G,2,0),返回單價12
14、與T IF的組合應用
輸入公式:
=SUM(VLOOKUP(T(IF({1},A2:A8)),D2:E8,2,0)*B2:B8)
陣列公式,按
IF({1},A2:A8)部分構成三維記憶體陣列
VLOOKUP函式第一引數不能直接為陣列
函式T起降維作用,將三維引用轉換為一維陣列,其返回的結果仍為陣列,用函式SUM求和。
15、多條件查詢
與反向查詢一樣,可以藉助IF{1,0}與IF{0,1}、CHOOSE{1,2}與CHOOSE{2,1}等結構
輸入公式:
=VLOOKUP(E2&F2,IF({1,0},A2:A11&B2:B11,C2:C11),2,0)
陣列公式,按
16、一對多查詢
輸入公式:
=IFERROR(VLOOKUP($E$2&ROW(A1),IF({1,0},$A$2:$A$11&COUNTIF(INDIRECT("A2:A"&ROW($2:$11)),$E$2),B$2:B$11),2,),"")
陣列公式,按
效果圖:
17、動態圖表
【資料】→【資料驗證】
輸入公式:
=VLOOKUP($A9,$A$2:$G$5,COLUMN(B1),0) ,右拉填充
【插入】→【插入柱形圖】
操作演示: