INDEX+MATCH函数一组合,赛过VLOOKUP函数
yund56 2025-07-02 10:25 4 浏览
提到查询数据,首先想到的就是VLOOKUP函数。但VLOOKUP查询有两个不便之处:
1、查找值(第一个参数)始终位于查找区域(第二个参数)的第一列;
2、从左向右查找容易,但从右向左查找需要IF或CHOOSE构建新的查找区域。
如例所示:右侧表格里需要根据姓名查找工号,而左侧表格里工号在第一列,姓名在第二列,使用标准的VLOOKUP函数显示查询不了,在不动查询表格的次序的前提下,只能使用VLOOKUP函数和IF函数组合,通过IF{1,0}重新构建一个新的数组,重新排列了姓名和工号,让姓名移动到了第一列,工号移动到了第二列。
很多人,很不好理解这个函数的意思,那么我们今天就来看下另一组函数的组合:INDEX+MATCH。
先来了解下【MATCH函数】
MATCH函数查找指定项在单元格区域中的相对位置,即第几行第几列。
语法:MATCH(lookup_value,lookup_array, [match_type])
中文语法:MATCH(指定项,单元格区域,[匹配方式])
match_type,即匹配方式,参数有三个:
- -1,查找小于或等于 lookup_value的最大值;
- 0,查找等于 lookup_value的第一个值;
- 1,查找大于或等于 lookup_value的最小值。
如图所示,查找姓名吕布在姓名列的位置,使用函数公式:=MATCH(H2,B2:B10,0)
这个公式相对好理解,也就是H2单元格里的名字在B2:B10即姓名列中第几个。最后的结果就是第2个。
除了按列查询第几行,也可以查询第几列,如查询姓名这个标题在第几列,函数公式:=MATCH(H5,A1:F1,0),同样好理解这个公式,就是查询姓名在第一行的标题行里是第几列。结果是第二列。
接着咱们再来看下【INDEX函数】
功能:查找单元格区域或数组常量中某行、某列或行列交叉点的值
语法:INDEX(array,row_num, [column_num])
中文语法:INDEX(单元格区域或数组常量,数组中的某行,[数组中的某列])
如图所示,查找吕布的工号。
按我们日常手动查找方式,也是先看姓名在2行,再查找对应的工号里相同行的单元格数字。
而MATCH函数已经查找出姓名所在的行数,用INDEX函数在工号列里获取对应行号的单元格值。
完整的公式为:INDEX(A2:A10,MATCH(H2,B2:B10,0))
多条件查找
面对多条件查找,尤其是两个条件的次序和表格里的次序还不一致的情况,使用VLOOKUP函数也麻烦,而INDEX函数+MATCH函数组合也就轻松搞定。
完整公式:index(f2:f10,match(h2&i2,b2:b10&a2:a10,0))
这里就是多了连接符&连接两个条件,注意次序保存一致就行。
根据需要,添加绝对引用符号。
行列交叉查询:
=INDEX($F$2:$G$10,MATCH(I2,$B$2:$B$10,0),MATCH($J$1,$F$1:$G$1,0))
这里使用了两个MATCH函数,第一个MATCH函数确定查找值所在的行,第二个MATCH函数确定查找值所在的列,最后得出交叉后的位置,在通过INDEX函数获取单元格内的值。
获取最高分的姓名
如图所示,自动获取得分2这列里分数最高的姓名
公式:=INDEX($B$2:$B$10,MATCH(max($G$2:$G$10),$G$2:$G$10,0))
这里先使用了MAX函数获取这列里最大的值,在通过MATCH函数获取这个最大值的位置,最后使用INDEX函数获取同行位置姓名列里的姓名。
获取前三的姓名
如图所示,自动获取得分2这列里排名前三的姓名
=INDEX($B$2:$B$10,MATCH(LARGE($G$2:$G$10,ROW(A1)),$G$2:$G$10,0))
这里先使用LARGE函数+ROW(A1)获取最大的数字。
再用MATCH函数匹配出最大数字的位置。
最后用INDEX函数在同行的姓名列里获取单元格内姓名。
此处用了ROW(a1)函数获取LARGE函数的第二个参数,随着公式往下拖动,自动获取到第二、第三的姓名。
整行提取
=INDEX(C2:G10,MATCH(B13,B2:B10,0),0)
这个公式和上述公式不同的是,前面都是单列或是单行,而这里是一个五列多行的数据区域。
其他都一样,先用MATCH函数获取到行位置信息。
INDEX在这个多行多列区域里根据行号获取整行数据,注意的是,这里INDEX函数的第三个参数用0来代替。
看到这里,INDEX+MATCH函数是不是容易理解,也自由灵活的多,没有那么多的限制条件,使用起来特别的方便呢?
相关推荐
- Frequency函数用法详解—6个示例
-
Hello,大家好!今天和大家分享Frequency函数的使用方法。Frequency函数可以用于统计数据的频率分布,其语法为frequency(data_array,bins_array)。其中参数...
- 期刊论文网:查重复值excel的函数
-
问:如何在excel表格中用公式查找重复值答:打开需要查找重复值的excel表格,找到需要查找的A列。2、将鼠标定位在C1单元格中,在编辑栏中输入公式“=IF(COUNTIF($A:$A,A1)>...
- MATCH 函数的几个典型应用
-
MATCH函数,用于在一行或一列的查询区域中搜索指定内容,然后返回该内容在查询区域中的相对位置。MATCH函数有三个参数,第一个参数是查找对象,第二参数指定查找的范围,第三参数用数字来指定匹配方式...
- LOOKUP+INDIRECT组合封神!合并单元格查询从此无压力!
-
你是不是经常遇到这样的问题?“A列部门是合并单元格,B列是员工姓名,怎么根据姓名快速查部门?”手动翻找?眼睛看花!用VLOOKUP直接查?合并单元格全是坑!今天教你一个神级公式,用LOOKUP+IN...
- Match函数的使用方法
-
一、Match函数。功能:返回符合特定值特定顺序的项在数组中的相对位置。语法结构:=Match(查询值,数据范围,[匹配方式])。其中“匹配方式”有三种,分别为:-1(大于)、0(精准匹配)、1(小于...
- 两个表格如何匹配出相同的数据!用一个表查询另一个表进行填充!
-
Excel秘籍大全,前言两个表格匹配出相同的数据,可以通过匹配数据然后复制粘贴即可。当然,也可以直接使用VLOOKUP函数或者INDEX和MATCH函数组合来实现。具体使用哪种方法,可以根据自身需求来...
- INDEX+MATCH函数一组合,赛过VLOOKUP函数
-
提到查询数据,首先想到的就是VLOOKUP函数。但VLOOKUP查询有两个不便之处:1、查找值(第一个参数)始终位于查找区域(第二个参数)的第一列;2、从左向右查找容易,但从右向左查找需要IF或CHO...
- Excel模糊查找学会这5个方法,工作简直开了挂
-
模糊查找向来都是一个比较难的点,即使你对VLOOKUP、LOOKUP函数很熟悉,但有些问题也是要想很久。但当你学会下面这5个方法时,工作简直跟开了挂一样!下图中,我们想要通过E列的姓名在B:C表数据区...
- PART19:MATCH+HLOOKUP查找匹配直接套用!
-
公式解析HLOOKUP:在表格或数值数组的首行查找指定的数值,并由此返回表格或数组当前列中指定行处的数值。(默认情况下,表是升序的)数据表的首行必须为查找值所在行FALSE-精确匹配TRUE-近似匹配...
- 拒绝加班!快速完成Excel表格核对重复数据!
-
如何快速完成两个表格或者两组数据对比工作,在日常工作中非常重要,你用的是哪一种方法?平凡的世界平凡的你,努力学习使我们变得不平凡,今天要介绍的知识是excel核对表格差异的相关知识,你准备好学习exc...
- 如何筛选两个电子表格中重复的数据
-
#如何筛选两个电子表格中重复的数据#在Excel中筛选两个电子表格中的重复数据,可以通过多种方法实现。以下是几种常用的方法,以及它们的操作步骤:方法一:使用条件格式突出显示重复项打开Excel,并加载...
- Excel-函数技巧,COUNTIF+MATCH+INDEX提取不重复物料
-
要求:用函数求出B列当中,不重复的物料,也就是物料的唯一值。函数公式如下:{=IFERROR(INDEX($B$3:$B$142,MATCH(0,COUNTIF($G$2:G2,$B$3:$B$142...
- excel如何快速提取不重复值?提供2个经典用法
-
当excel有很多数据,而且有很多是重复数据的时候,如何快速提取不重复值就成为了需要解决的难题!如图中案例,A列是学校的列表,由于很多学员都出自同一所大学,所以就会有很多重复的。现在,需要提取不重复的...
- 如何根据多个条件查找数据,我整理了三种方法
-
一、案例如下图所示,A1:C8为某小区住户信息表,要求根据楼栋和房号查询住户姓名。二、解决方法方法一、INDEX+MATCH函数在G2单元格输入公式=INDEX($C$2:$C$8,MATCH(1,(...
- 利用match函数让两个表格排序一致
-
利用match函数让两个表格排序一致一线老师经常统计学生的情况,有时两个不同的表格由于姓名顺序不一致,手动调整往往需要耗费大量的时间与精力,当我们需要将两个表格的数据需要按照相同的顺序进行对比时,我们...
- 一周热门
- 最近发表
- 标签列表
-
- filter函数js (37)
- filter函数excel用不了 (73)
- 商城开发 (40)
- 影视网站免费源码最新版 (57)
- 影视资源api接口 (46)
- 网站留言板代码大全 (56)
- java版软件下载 (52)
- java教材电子课本下载 (48)
- 0基础编程从什么开始学 (50)
- java是用来干嘛的 (51)
- it入门应该学什么 (55)
- java线上课程 (55)
- 学java的软件叫什么软件 (38)
- 程序开发软件有哪些 (53)
- 软件培训 (59)
- 机器人编程代码大全 (50)
- 少儿编程教程免费 (45)
- 新代系统编程教学 (61)
- 共创世界编程网站 (38)
- 亲测源码 (36)
- 三角函数积分公式表 (35)
- 函数的表示方法 (34)
- 表格乘法的公式怎么设置 (34)
- sumif函数的例子 (34)
- 图片素材 (36)