逆向查詢那些事兒
逆向查詢那些事兒
在日常的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中相同位置的值。
如果有多條符合條件的結果,前三個公式都是返回首個滿足條件的值,而第四個公式則是返回最後一個滿足條件的值,這一點大家在使用時還需要特別注意。
好了,今天的分享就到這裡,祝大家周日開開心心。
推薦閱讀:
※2018年生肖運勢在線查詢
※命格查詢
※四柱神煞查詢與解說【學易必知】
※(531)[轉載]小三命理特徵查詢
※2015年嫁娶吉日查詢
TAG:查詢 |