解決逆向查找問題?VLOOKUP、CHOOSE、IF,索引數組,輕鬆解決

解決逆向查找問題?VLOOKUP、CHOOSE、IF,索引數組,輕鬆解決

1、CHOOSE函數

函數CHOOSE是指按給定的索引值,返回引用數據中對應的數值。

語法結構為

CHOOSE(Index_num,value1,value2,...) ,

也就是CHOOSE(序號,數值1是,數值2......)。其中:

  1. Index_num 用以指明待選參數序號的參數值,為1到29之間的數字。
  2. Value1,value2,... 則是用來索引的數值,可以是單個數值,也可以是單元格區域的。
  3. 例如公式“SUM(CHOOSE(2,B2:E2,B3:E3,B4:E4)”是指返回引用值的第二個,也就是B3:E3,然後再對其進行求和。
  4. 但若 Index_num 為一個數組,則在函數 CHOOSE 計算時,每一個值都將計算。

【例1】利用CHOOSE函數互換A列和B列數據,並根據D2單元格的姓名,查找返回該同學的學號。

操作:在E2單元格輸入公式

“=VLOOKUP(D2,CHOOSE({1,2},B2:B30,A2:A30),2,FALSE)”

回車。

解決逆向查找問題?VLOOKUP、CHOOSE、IF,索引數組,輕鬆解決

析:

  1. 本例中CHOOSE函數的參數值為{1,2}的數組,所以函數會對B2:B30,A2:A30的兩個區域進行重複多次運算。
  2. 首先返回區域內第一個參數值,也就是B2,再返回第二個參數值也就是A2,完成一個循環,然後再選取第一個數值,也就是B3,再返回第二個參數值也就是A3,完成一個循環;一直到選取最後的B30和A30,從而最終返回第一列是B2:B30,第二列是A2:A30的數據。
  3. VLOOKUP函數的第一個參數查找值,必須位於查找區域的首列中。
  4. 通過CHOOSE函數對原數據的兩列內容互換後,便將姓名列放在了首列,再利用VLOOKUP函數通過對姓名的查詢返回學號。
  5. 本例中公式也可表達為“=VLOOKUP(D2,CHOOSE({2,1},A2:A30,B2:B30),2,FALSE)”,也能達到相同的效果。

2、IF函數

IF函數,是常用的條件判定函數,根據滿足的結果返回對應的數值。這裡主要講解IF函數在逆向查找方面的使用方法。

【例2】利用IF函數互換A列和B列數據,並根據D2單元格的姓名,查找返回該同學的學號。

操作:在E2單元格輸入公式

“=VLOOKUP(D2,IF({0,1},A2:A30,B2:B30),2,0)”,

回車。

解決逆向查找問題?VLOOKUP、CHOOSE、IF,索引數組,輕鬆解決


析:

  1. 類似於CHOOSE函數通過選取數組的先後順序達到互換數據的效果,IF函數則通過判定結果是否成立的方式,完成數組的互換。
  2. 本例中用IF函數進行判定,首先為0時,表示判定不成立,返回第二個值B2:B30,然後為1時,表示判定成立,返回第一個值A2:A30,從而將原數據的兩列顛倒位置。
  3. 若輸入公式為:“=VLOOKUP(D2,IF({1,0},B2:B30,A2:A30),2,0)”,也能完成操作。

另外除了運用VLOOKUP函數嵌套CHOOSE或IF函數來進行逆向查找,在之前的文章裡,也為大家介紹了用INDEX嵌套MATCH函數和VLOOKUP函數嵌套MATCH函數,通過交叉查詢的方式也能達到相同的效果,這裡不再展開,如有需要請參考7月29日和30日的文章分享。

小結:本文主要詳述了CHOOSE函數的語法結構和用法,並結合VLOOKUP函數結合CHOOSE函數完成引用區域的列交換,從而逆向查詢出需求數據。

我是@OFFICE職場辦公,專注EXCEL軟件知識,提高辦公效率,內容每日一更,歡迎大家

點擊關注,持續獲得更多內容。


分享到:


相關文章: