Excel表格vlookup函式如何反向查詢

【例】如何快速查詢出產品“丙丁”對應的產品編碼?

操作一:選中A列,選擇剪下,插入到B列,然後在G2單元格輸入公式

“=VLOOKUP(F2,A:B,2,FALSE)”,回車。

備註:

(1)VLOOKUP函式無法實現反向查詢,所以需要將A列產品編碼進行整體剪下

(2)實際工作中往往不允許我們對原始資料表進行改動,這時就需要對引用的內容進行反向查詢。

(3)下面介紹兩種方法,一種是之前文章講過的INDEX巢狀MATCH函式的方法,另一種也是我們今天內容的重點,CHOOSE函式的迴圈陣列選擇和VLOOKUP如何巢狀CHOOSE函式進行反向查詢。

操作二:INDEX巢狀MATCH函式(推薦)

在G2單元格輸入公式“=INDEX(A:B,MATCH(F2,B:B,0),1)”,回車

備註:

(1)函式MATCH返回指定數值在指定陣列區域中的相對位置,語法結構為MATCH(查詢值,查詢區域,匹配型別),匹配型別常用預設為0。本例中返回值為F2單元格內容在B列中的行號。

(2)函式INDEX用來返回引用區域指定位置的數值,語法結構為INDEX(陣列,行序數,[列序數],[區域序數]),本例中是指返回AB兩列資料區域中,第X行第1列的內容,X指MATCH函式返回的行號

(3)有關INDEX函式和MATCH函式的更多詳細講解,大家可以檢視2月28日和29日的文章,那裡有更詳細的介紹,這裡不再展開。

操作三:VLOOKUP函式巢狀CHOOSE函式

在G2單元格輸入公式“=VLOOKUP(F2,CHOOSE({2,1},A2:A34,B2:B34),2,FALSE)”,回車

備註:

(1)CHOOSE函式語法結構為“CHOOSE(序號,[數值1],[數值2],[數值3]......)”,其中序號是指位於後面數值明細的第幾個;數值最少1個,最多254個。例如“CHOOSE(3,23,24,25,26,27)”表示從“23、224、25、26、27”五個數值中,選擇第三個,返回結果為25。

(2)公式“CHOOSE({2,1},A2:A34,B2:B34)”,返回的是一個“編號、產品名稱”的陣列,也就是“0001,甲;0002,乙;......0033,丙辛”,也就是將原資料的A列和B列進行顛倒,這樣便可以用VLOOKUP進行正向的查詢引用。

(3)這裡CHOOSE進行選擇的是陣列 {2,1}。先從A2:A34和B2:B34兩個陣列中,選擇第二個陣列中的B2,然後選擇A2,完成一個迴圈;然後選擇B3,再選擇A3......,這樣一直選擇到B34、A34。這樣便將原資料的AB兩列資料進行了互換。

(4)最後再按照VLOOKUP函式的正常語法,進行查詢引用,達到相同的效果。

內容最後,歡迎大家點選關注,謝謝!