逆向查詢,記住這些才是真的會了

在日常的Excel函數應用中,最常用的就是查詢類函數,比如說根據工號查詢姓名、根據學生查詢成績、根據男豬腳查詢女一號等等。


說到查詢類函數,大家對VLOOKUP一定不會陌生,這可是人見人愛花見花開的函數。
下面這個圖中,就是根據工號查詢姓名的典型應用:

逆向查詢,記住這些才是真的會了


G2單元格公式為
=VLOOKUP(F2,A2:D10,2,0)
意思就是以F2單元格的工號作為查詢值,以A2:D10為查找區域,在首列中找到與F2單元格相同的工號,然後返回這個區域中與之對應的第二列(也就是姓名所在列)的姓名。
如果我們以姓名作為查找值,需要在這個區域中查找和姓名對應的工號,該如何使用公式呢?
因為VLOOKUP函數要求查詢值必須處於查詢區域的首列,再使用普通方法就無法完成要求了,今天就和大家說說,關於逆向查詢的幾種方法。
方法一
使用IF函數重新構建數組。
G2使用公式為:
=VLOOKUP(F2,IF({1,0},B2:B10,A2:A10),2,0)

逆向查詢,記住這些才是真的會了


這個公式的用法在之前的內容中咱們曾經講過,就是用IF({1,0},B2:B10,A2:A10),返回一個姓名在前,工號在後的多行兩列的內存數組,使其符合VLOOKUP函數的查詢值處於查詢區域首列的條件,再用VLOOKUP查詢即可。
該函數使用比較複雜,運算效率低。
裝逼指數:★★★★★
推薦指數:★
方法二
使用CHOOSE函數重新構建數組。
G2使用公式為:
=VLOOKUP(F2,CHOOSE({1,2},B2:B10,A2:A10),2,0)

逆向查詢,記住這些才是真的會了


這個公式的原理也是重新構建一個內存數組,使其符合VLOOKUP函數的查詢值處於查詢區域首列的條件。
該函數與方法一的思路相同,同樣是使用複雜,運算效率低。
裝逼指數:★★★★★
推薦指數:★
方法三
INDEX+MATCH結合使用。
G2使用公式為:
=INDEX(A2:A10,MATCH(F2,B2:B10,))

逆向查詢,記住這些才是真的會了


公式首先使用MATCH函數返回F2單元格姓名在B2:B10單元格中的相對位置6,也就是這個區域中所處第幾行。
再以此作為INDEX函數的索引值,從A2:A10單元格區域中返回對應位置的內容。
這個公式是最常用的查詢公式之一,看似繁瑣,實際查詢應用時,由於其組合靈活,可以完成從左至右、從右到左、從下到上、從上到下等多個方向的查詢。
該函數是嵌套使用,操作靈活,運算方便。
裝逼指數:★★★
推薦指數:★★★
方法四
所向披靡的LOOKUP函數。
G2使用公式為:
=LOOKUP(1,0/(F2=B2:B10),A2:A10)

逆向查詢,記住這些才是真的會了


這是非常經典的LOOKUP用法。
首先用F2=B2:B10得到一組邏輯值,再用0除以這些邏輯值,得到由0和錯誤值組成的內存數組。再用1作為查詢值,在內存數組中進行查詢。
如果 LOOKUP 函數找不到查詢值,則它與查詢區域中小於或等於查詢值的最大值匹配,因此是以最後一個0進行匹配,並返回A2:A10中相同位置的值。
該函數使用簡便,功能強大,公式書寫也比較簡潔。
裝逼指數:★
推薦指數:★★★★★
如果有多條符合條件的結果,前三個公式都是返回首個滿足條件的值,而第四個公式則是返回最後一個滿足條件的值,這一點大家在使用時還需要特別注意。

細分: VLOOKUP

轉載請註明來源"ExcelHome"


分享到:


相關文章: