Excel查询函数终结者

简介: Excel查询函数终结者

简说Python,号主老表,Python终身学习者,数据分析爱好者,从18年开始分享Python知识,原创文章227篇,写过Python、SQL、Excel入门文章,也写过Web开发、数据分析文章,老表还总结整理了一份2022Python学习资料和电子书资源,关注后私信回复:2022 即可领取。

哈喽大家好,我是老表,之前三篇文章给大家分享了 Excel lookup家族的vlookup、hlookup、lookup和xlookup1、Excel中超级好用的VLOOKUP,解决工作难题(讲vlookup)
2、我去,Excel还有这个操作(讲hlookup和lookup)

3、神了,Excel的这个操作我今天才知道(讲xlookup)

今天,我们来聊聊Excel查询函数最后一对MATCH+INDEX1、MATCH and INDEX基本介绍


MATCH(lookup_value, lookup_array, [match_type])

image.png

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

match_type 默认为11 :查找小于或等于 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])

image.pngINDEX也包含三个参数,前两个为必须参数,第三个为可选参数,第一个参数array表示传入数组,也可以叫做查找值所在区域,第二个参数row_num表示查找值在array的第几行,最后一个参数column_num表示查找值在array的第几列,函数返回值为查找区域的第row_num行、第column_num列所对应的单元格内的值。数据我们还是利用之前的:image.png

使用INDEX+MATCH查找思路:利用MATCH函数查找到查找值所在列号和行号,然后根据列号推导出返回结果所在列号,然后根据返回结果所在列号、行号,利用INDEX查找到返回结果对应值。2、逆向查找:根据姓名 王五 查找到其对应的学号。

image.png

图A

需要注意的是,使用MATCH函数查找行号的时候,查找区域选择查找值所在列即可,使用MATCH函数查找列号的时候,查找区域选择表格表头即可,当然这个我们也可以使用数据验证去动态操控,另外需要注意的是,由于列和行都是无序的,所以MATCH函数最后一个参数需要写0,表示精确查找,当然,也可以添加辅助列,使得其有序,第三个参数就不用了(默认为1),如下图所示:

image.png

图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、模糊查找+联动查找

根据姓名查找对应学生的:学号、住址、语文成绩、语文成绩对应等级。

image.png

怕视频不够清晰再次强调

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

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

相关文章
|
7月前
|
关系型数据库 MySQL 数据库连接
python查询数据库的某个表,将结果导出Excel
python查询数据库的某个表,将结果导出Excel
169 0
|
4月前
|
关系型数据库 MySQL Shell
不通过navicat工具怎么把查询数据导出到excel表中
不通过navicat工具怎么把查询数据导出到excel表中
47 0
|
2月前
excel 百分位函数 学习
excel 百分位函数 学习
35 1
|
6月前
|
数据库 C语言 索引
必知的技术知识:excel函数
必知的技术知识:excel函数
43 0
|
4月前
|
SQL
SQL SERVER 查询表结构,导出到Excel 生成代码用
SQL SERVER 查询表结构,导出到Excel 生成代码用
49 0
|
6月前
|
数据安全/隐私保护
杨老师课堂之Excel VBA 程序开发第八讲使用工作表函数
杨老师课堂之Excel VBA 程序开发第八讲使用工作表函数
44 1
|
7月前
分享:2秒快速查询40万手机号码归属地,批量手机号码归属地查询可以导出excel表格,WPS表格查询手机号码归属地怎么操作,批量手机号码归属地批量查询软件,批量号码查询按省份和城市分类,按运移动号码电信号码联通号码分类整理
本文介绍了如何批量快速查询手机号码归属地并进行分类。首先,通过提供的百度网盘或腾讯云盘链接下载免费查询软件。其次,开启软件,启用复制粘贴功能,直接粘贴号码列表并选择高速查询。软件能在极短时间内(如1.76秒内)完成40多万个号码的查询,结果包括归属地、运营商、邮箱和区号,且数据准确。之后,可直接导出数据至表格,若数据超过100万,可按省份、城市及运营商分类导出。文章还附带了操作动画演示,展示全程流畅的处理大量手机号码归属地查询的过程。
370 0
分享:2秒快速查询40万手机号码归属地,批量手机号码归属地查询可以导出excel表格,WPS表格查询手机号码归属地怎么操作,批量手机号码归属地批量查询软件,批量号码查询按省份和城市分类,按运移动号码电信号码联通号码分类整理
|
6月前
|
数据格式 Windows
必知的技术知识:Excel公式SWITCH函数你用过吗?多种查找函数介绍
必知的技术知识:Excel公式SWITCH函数你用过吗?多种查找函数介绍
89 0
|
7月前
Excel实例:数组公式和函数
Excel实例:数组公式和函数
|
7月前
|
数据可视化
用excel来构建柯布-道格拉斯Cobb-Douglas生产函数的可视化
用excel来构建柯布-道格拉斯Cobb-Douglas生产函数的可视化