语法构造为

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单元格的姓名,查找返回该同学的学号。

解决逆向查找问题VLOOKUPCHOOSEIF索引数组轻松解决

操作:在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软件知识,提高办公效率,内容逐日一更,欢迎大家点击关注,持续得到更多内容。