Excel表格反向查詢函式vlookup怎麼用(Excel表格vlookup函式逆向查詢的使用方法)
想必大家在工作中都遇到過這樣的問題,當我們要進行VLOOKUP匹配的時候,發現我們需要返回的列在查詢列的前面,像下圖這樣,此時如果我們直接用VLOOKUP函式進行匹配,我們會發現,無論如何選擇第二引數,查詢列都不可能位於第一列,此時Excel就會返回錯誤值,遇到這種情況你是束手無策,還是略知一二,還是隻知道怎麼用反向查詢,而不知道其中原理?相信看完這篇文章,你所有的疑惑都會得到解答。
我們知道,VLOOKUP函式的查詢列必須位於第二引數的第一列,我們最直接的辦法就是將姓名列和學號列交換一下位置,但是一般資料來源不允許隨意改動,此時我們就需要用到輔助函式來在計算機記憶體中構造一個記憶體陣列,這個記憶體陣列只包含兩列,第一列是查詢值列,第二列是返回值列,具體如何操作呢?請接著往下看。
方法一:if{1,0}方法。首先我們知道if函式中1和0可以等價替換邏輯值TRUE和FALSE,舉個例子,公式=if(1,"A","B"),得到的結果是"A",而=if(0,"A","B"),得到的結果則是"B"。如果我們將1和0同時寫進if函式的第一引數,則會得到1和0分別在if函式中執行得到的結果,比如:=if({1,0},"A","B"),則會得到結果{A;B}。如果將公式中的A和B換成對應的資料列,則會得到由A和B(此時的A和B代表兩列資料)構成的記憶體陣列,A和B是我們自己選擇的,此時我們可以將查詢列放在A位置,返回列放在B位置,如下圖所示:
當我們得到這個記憶體陣列的時候,是不是就可以將這個記憶體陣列作為VLOOKUP函式的第二引數,就可以進行正常的資料匹配了,公式:=VLOOKUP(G3,IF({1,0},C$2:C$23,B$2:B$23),2,),注意:首先我們記憶體陣列只有兩列,所以第三引數是2;然後這個函式是陣列公式,需要用Ctrl shift 回車,三件結束,才能得到正確結果,結果如下:
方法二:choose{1,2},其實內在邏輯和if{1,0}是一樣的,只不過是構造記憶體陣列的函式換了一個,我們只需要將if{1,2}換成choose{1,2}即可,公式:=VLOOKUP(G3,CHOOSE({1,2},C$2:C$23,B$2:B$23),2,),結果展示:
看到這裡,相信你對VLOOKUP函式反向查詢心中的疑惑已經豁然開朗了,如果還覺得不夠具體,請觀看筆者對於VLOOKUP函式反向查詢講解的視訊。純手打不易,希望大家多多支援,能與大家互相學習,共同進步!