首页officeexcel正文

excel 利用VLOOKUP函数进行反向查找

强国说学习2022-05-20294excel利用VLOOKUP函数进行反向查找以前

以前我们学过,如果使用VLOOKUP函数的话,要查询的值要位于查询区域的第一列,但是如果我们要查找的值不位于第一列呢,该如何处理?第一种方法简单,我们直接采用复制粘贴的方法,把要查询的值换到第一列就可以了,第二种方法呢,就需要使用到函数的嵌套,我们使用函数的方法把要查询的值,切换到第一列,先看例子:

vlookup-逆向查询

在这个例子中,我们实现的了逆向查找,是根据第二列的成绩来查找第一列的学生的名字,在C13单元格中的公式为=VLOOKUP(B13,CHOOSE({2,1},A2:A10,B2:B10),2,FALSE),其中第一个参数B13,就是要查询的成绩,最关键的就是第二个参数CHOOSE({2,1},A2:A10,B2:B10),CHOOSE函数的第一个参数是{2,1},他的作用是返回第三个参数和第二个参数组成的一个内存数组对,所以CHOOSE函数返回的结果就是{86,"蔡世杰";100,"李康宁";96,"张承龙";87,"李林奕";97,"潘嘉成";82,"庞诣";81,"戴冕之";94,"周子康";88,"杨傲"}(你可以选中这个函数,然后按键盘上的F9键来查看),返回的结果来看,成绩就在第一列了,名字在第二列,这样对于VLOOKUP函数来说,要查询的值还是位于第一列中(还是按照从左到右的顺序在查询),这样就可以正常查询了;VLOOKUP函数的第三个参数是2,就是返回的结果的列数了,也就是CHOOSE函数返回的第二列即姓名,最后一个参数FALSE代表的是精确匹配。

另外我们也可以使用if函数来处理第二个查询区域这个参数,直接上例子:

vlookup-逆向查询(2)

在C13单元格中的函数为=VLOOKUP(B13,IF({0,1},A2:A10,B2:B10),2,FALSE),和上面的区别就在第二个参数,IF({0,1},A2:A10,B2:B10),他的功能也是一样的,交换B列和A列的位置,里面的{0,1},是一对逻辑值,0及FALSE,1及TRUE,相当于为FALSE的时候,返回B列,TRUE的时候,返回A列,这样就形成了一个内存数组对,来达到交换两列位置的目的。

在实际的使用过程中,CHOOSE ,IF都可以用来交换两列的位置,只不过IF函数只能交换两列,如果要交换多列的位置,就要嵌套起来用显得比较复杂而且很麻烦,因为CHOOSE的参数对于数据个数就要宽松很多(255个参数,除第一个序列号参数以外,其余的可以输入254个数据),所以我们一般是采用CHOOSE函数来处理,来的更加方便。

文章内容收集于网络,希望能为广大朋友提供帮助。强国说学习-WPS之家(wps.qiangguoshuo.com)

如想转载该文章请注明出处:强国说学习-qiangguoshuo.com
强国说学习

转载声明:本站发布文章及版权归原作者所有,转载本站文章请注明文章来源!

本文链接:https://www.qiangguoshuo.com/excel/13946.html