欢迎来到PDF88
PDF免费工具箱

如何解决Excel逆向查找问题(Excel高阶函数使用)

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)”

回车。

析:

  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)”,

回车。

析:

  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函数完成引用区域的列交换,从而逆向查询出需求数据。

赞(0)
未经允许不得转载:PDF88 » 如何解决Excel逆向查找问题(Excel高阶函数使用)
分享到: 更多 (0)

专业的免费PDF工具箱 实现PDF编辑、PDF处理和PDF转换

PDF工具箱首页技术研究