1、CHOOSE函數
函數CHOOSE是指按給定的索引值,返回引用數據中對應的數值。
語法結構為
CHOOSE(Index_num,value1,value2,...) ,
也就是CHOOSE(序號,數值1是,數值2......)。其中:
- Index_num 用以指明待選參數序號的參數值,為1到29之間的數字。
- Value1,value2,... 則是用來索引的數值,可以是單個數值,也可以是單元格區域的。
- 例如公式“SUM(CHOOSE(2,B2:E2,B3:E3,B4:E4)”是指返回引用值的第二個,也就是B3:E3,然後再對其進行求和。
- 但若 Index_num 為一個數組,則在函數 CHOOSE 計算時,每一個值都將計算。
【例1】利用CHOOSE函數互換A列和B列數據,並根據D2單元格的姓名,查找返回該同學的學號。
操作:在E2單元格輸入公式
“=VLOOKUP(D2,CHOOSE({1,2},B2:B30,A2:A30),2,FALSE)”
回車。
析:
- 本例中CHOOSE函數的參數值為{1,2}的數組,所以函數會對B2:B30,A2:A30的兩個區域進行重複多次運算。
- 首先返回區域內第一個參數值,也就是B2,再返回第二個參數值也就是A2,完成一個循環,然後再選取第一個數值,也就是B3,再返回第二個參數值也就是A3,完成一個循環;一直到選取最後的B30和A30,從而最終返回第一列是B2:B30,第二列是A2:A30的數據。
- VLOOKUP函數的第一個參數查找值,必須位於查找區域的首列中。
- 通過CHOOSE函數對原數據的兩列內容互換後,便將姓名列放在了首列,再利用VLOOKUP函數通過對姓名的查詢返回學號。
- 本例中公式也可表達為“=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)”,
回車。
析:
- 類似於CHOOSE函數通過選取數組的先後順序達到互換數據的效果,IF函數則通過判定結果是否成立的方式,完成數組的互換。
- 本例中用IF函數進行判定,首先為0時,表示判定不成立,返回第二個值B2:B30,然後為1時,表示判定成立,返回第一個值A2:A30,從而將原數據的兩列顛倒位置。
- 若輸入公式為:“=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軟件知識,提高辦公效率,內容每日一更,歡迎大家
點擊關注,持續獲得更多內容。