Excel查询函数终结者

Excel查询函数终结者

哈喽大家好,我是老表,之前三篇文章给大家分享了 Excel lookup家族的vlookup、hlookup、lookup和xlookup
1、Excel中超级好用的VLOOKUP,解决工作难题(讲vlookup)
2、我去,Excel还有这个操作(讲hlookup和lookup)
3、神了,Excel的这个操作我今天才知道(讲xlookup)
今天,我们来聊聊Excel查询函数最后一对MATCH+INDEX。
1、MATCH and INDEX基本介绍




MATCH(lookup_value, lookup_array, [match_type])

Excel查询函数终结者
MATCH包含三个参数,前两个为必须参数,第三个为可选参数,第一个参数lookup_value表示要在lookup_array(查找区域)匹配的值,第二个参数lookup_array表示查找区域,这两个参数与之前vlookup中的含义是一致的,很好理解,第三个参数match_type表示lookup_value与lookup_array中值的匹配方式:

match_type 默认为1
1 :查找小于或等于 lookup_value 的最大值。
lookup_array 参数中的值必须以升序排序。

0 :查找完全等于 lookup_value 的第一个值。
lookup_array 参数中的值可按任何顺序排列。

-1 :查找大于或等于 lookup_value 的最小值。
lookup_array 参数中的值必须按降序排列

这里第三个参数我们可以理解成vlookup的第四个参数range_lookup,近视(模糊)查找还是精确查找。
特别注意:
a.模糊查找时,查找区域需要有顺序;
b.MATCH函数返回的是查找值(lookup_value)在查找区域(lookup_array)的位置;
c.lookup_array参数只能是一行或者一列。



INDEX(array, row_num, [column_num])

Excel查询函数终结者
INDEX也包含三个参数,前两个为必须参数,第三个为可选参数,第一个参数array表示传入数组,也可以叫做查找值所在区域,第二个参数row_num表示查找值在array的第几行,最后一个参数column_num表示查找值在array的第几列,函数返回值为查找区域的第row_num行、第column_num列所对应的单元格内的值。
数据我们还是利用之前的:
Excel查询函数终结者
使用INDEX+MATCH查找思路:
利用MATCH函数查找到查找值所在列号和行号,然后根据列号推导出返回结果所在列号,然后根据返回结果所在列号、行号,利用INDEX查找到返回结果对应值。
2、逆向查找:根据姓名 王五 查找到其对应的学号。
Excel查询函数终结者
图A
需要注意的是,使用MATCH函数查找行号的时候,查找区域选择查找值所在列即可,使用MATCH函数查找列号的时候,查找区域选择表格表头即可,当然这个我们也可以使用数据验证去动态操控,另外需要注意的是,由于列和行都是无序的,所以MATCH函数最后一个参数需要写0,表示精确查找,当然,也可以添加辅助列,使得其有序,第三个参数就不用了(默认为1),如下图所示:
Excel查询函数终结者
图B
特别注意:
图A中












INDEX(B3:G10,MATCH(C12,C3:C10,0),MATCH(C3,B3:G3,0)-1)
这里 INDEX 第三个参数MATCH(C3,B3:G3,0)-1表示返回值与查找值的列序号相差1,
从图中可以看出返回值在查找值的前一列,所以-1.

图B中

INDEX(A2:H10,MATCH(D6,D2:D10),MATCH(D2,A2:H2)-2) 
这里 INDEX 第三个参数MATCH(D2,A2:H2)-2表示返回值与查找值的列序号相差2,
从图中可以看出返回值在查找值的前两列,所以-2.

3、模糊查找+联动查找
根据姓名查找对应学生的:学号、住址、语文成绩、语文成绩对应等级。

Excel查询函数终结者
怕视频不够清晰

再次强调

1、数据验证这个功能还是很常用的,序列可以动态查找;
2、MATCH匹配时默认是模糊匹配,查找值所在区域需要是升序排列,如果想改为精确查找,则最后一个参数设置成0即可。

4、总结一下
INDEX+MATCH看起来很复杂,写起来也很复杂,但其实理解其功能逻辑后,会发现,使用的方便性不比VLOOKUP差,目前还没遇到什么是VLOOKUP解决不了非得要用INDEX+MATCH的,如果你有一些好的使用想法和建议,欢迎评论区交流。

相关推荐阅读:
1、Excel中超级好用的VLOOKUP,解决工作难题(讲vlookup)
2、我去,Excel还有这个操作(讲hlookup和lookup)
3、神了,Excel的这个操作我今天才知道(讲xlookup)
如果你觉得文章不错的话,分享、点赞、在看、留言666是对老表的最大支持。
Excel查询函数终结者




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章