EXCEL中使用INDEX、VLOOKUP等函數進行逆向查詢的4種方法

EXCEL中使用INDEX、VLOOKUP等函數進行逆向查詢的4種方法

EXCEL中進行數據處理時經常要進行數據查詢,比如根據工號查詢個人信息、根據學生姓名查詢成績、根據項目定義查詢項目概況等,常用的查詢函數如VLOOKUP,但VLOOKUP的常規用法是從左向右查詢,如何從右向左進行查詢呢?本文今天介紹4種逆向查詢方法。


1. INDEX和MATCH的組合

=INDEX(B3:B10,MATCH(H3,C3:C10,0))

EXCEL中使用INDEX、VLOOKUP等函數進行逆向查詢的4種方法

這個組合公式先用 MATCH(H3,C3:C10,0)返回H3在C3:C10中的相對位置,再以此位置為索引值,利用INDEX函數返回索引值所對應的部門。

2. VLOOKUP和IF函數的組合

如下圖所示,要求根據員工姓名查詢所在部門,使用公式為:

=VLOOKUP(H3,IF({1,0},C3:C10,B3:B10),2,FALSE)

EXCEL中使用INDEX、VLOOKUP等函數進行逆向查詢的4種方法

這個組合函數的核心是用IF({1,0},C3:C10,B3:B10),返回一個姓名在前、部門在後的多行兩列的內存數組,使其符合VLOOKUP函數的查詢值處於查詢區域首列的條件,再用VLOOKUP查詢即可。

3. VLOOKUP和CHOOSE函數的組合

=VLOOKUP(H3,CHOOSE({1,2},C3:C10,B3:B10),2,FALSE)

EXCEL中使用INDEX、VLOOKUP等函數進行逆向查詢的4種方法

這個組合函數的核心是CHOOSE({1,2},C3:C10,B3:B10),也是重新構建一個內存數組,使之符合VLOOKUP的查詢要求。

4. LOOKUP函數的逆向查詢

最後一個介紹的壓軸函數是無往不利的LOOKUP,它堪稱EXCEL界的查詢利器。

=LOOKUP(1,0/(C3:C10=H3),B3:B10)

EXCEL中使用INDEX、VLOOKUP等函數進行逆向查詢的4種方法

這個函數寫法是典型的LOOKUP萬金油式寫法。首先用C3:C10=H3得到一組邏輯值,再用0除以這些邏輯值,得到由0和錯誤值組成的內存數組。再用1作為查詢值,在內存數組中進行查詢。

如果 LOOKUP 函數找不到查詢值,則它與查詢區域中小於或等於查詢值的最大值匹配,因此是以最後一個0進行匹配,並返回B3:B10中相同位置的值。

歡迎多留言,多交流!


分享到:


相關文章: