赞
踩
目录
MATCH函数是Excel主要的查找函数之一,它返回指定数值在指定数组区域中的位置。
MATCH(lookup_value,lookup_array,[match_type])
MATCH(要查找的对象,行/列范围,比对方式)
如下图,假设这是一份某电视台跨年演唱会邀请的嘉宾名单,如果想知道每一位歌手在名单中的几行,怎样才能快速实现呢?
第一步:声明使用MATCH函数
在与歌手(如周杰伦)同一行的任意空白单元格输入"=match()",函数的字母大小写兼可,请使用英文字符。
单元格输入内容:
=match()
第二步:输入MATCH()函数的第一个参数
MATCH(要查找的对象,行/列范围,比对方式)
将鼠标光标移动到"=match()"中的括号里(呈现这样的效果:"=match(|)"),并单击周杰伦所在单元格。因为我们的需求是找出每一位歌手位于表格中的第几行,所以歌手(周杰伦)就是我们要查找的对象。注意每个参数之间用逗号隔开!
单元格输入内容:
=match(A2,)
第三步:输入MATCH()函数的第二个参数
MATCH(要查找的对象,行/列范围,比对方式)
将鼠标光标移动到字母A所在单元格,字母A所在单元格会立即变成绿色,接着单击,看到字母A所在列被虚线围了起来就说明输入第二个参数成功了。MATCH()的第二个参数可以是一行或者一列,因为我们要查找的对象(歌手)位于A列,所以这里我们选择的是列范围而不是行范围。
单元格输入内容:
=match(A2,A:A,)
第四步:输入MATCH()函数的第三个参数
MATCH(要查找的对象,行/列范围,比对方式)
比对方式分为大于、精准匹配和小于,输入1表示比对方式为小于,0表示精确匹配,-1表示大于。这里我们选择精确匹配,因此输入“0”。
单元格输入内容:
=match(A2,A:A,0)
第五步:回车+拖动
按下回车键(键盘上的Enter键)得到第一个查询结果,将鼠标光标移动到单元格右下角,直到鼠标光标由白色十字变成黑色十字,点击不放开并向下拖动,直至最后一位歌手同一行的单元格。
如下图为最终结果:
在Excel中,INDEX函数可以用来返回表或区域中的值。
INDEX(array,row_num,[column_num])
INDEX(行/列范围,行/列号)
如下图,如果我对表格A列的歌手姓名做了马赛克处理,根据上文MATCH函数查询得到的歌手所在行号,你能把歌手的姓名输出到表中的F列吗?
第一步:声明并使用INDEX函数
在与歌手姓名同一行的任意空白单元格输入"=index()",函数的字母大小写兼可,请使用英文字符。
单元格输入内容:
=index()
第二步:输入INDEX()函数的第一个参数
INDEX(行/列范围,行/列号)
MATCH函数的功能举个例子简单来形容就是:你告诉它房间主人的姓名和酒店,它把房间号反馈给你。而INDEX函数则是:你告诉它酒店和房间号,它把房间主人的姓名反馈给你。上文我们已经使用MATCH函数通过歌手姓名(房间主人的姓名)和酒店(歌手列)得到了歌手所在的行号(房间号),现在我们要做的就是使用INDEX函数通过歌手所在的行号(房间号)和歌手列(酒店)得到歌手姓名(房间主人的姓名)。
将鼠标光标移动到"=index()"中的括号里(呈现这样的效果:"=index(|)"),再将鼠标光标移动到字母A所在单元格,字母A所在单元格会立即变成绿色,接着单击,看到字母A所在列被绿色虚线围了起来就说明输入第一个参数成功了。绿色虚线围起来的A列也就是我们所确定的列范围。
单元格输入内容:
=INDEX(A:A,)
第三步:输入INDEX()函数的第二个参数
INDEX(行/列范围,行/列号)
上一步我们已经告诉了INDEX函数酒店(歌手列),现在只需要告诉INDEX函数房间号(歌手所在行号)它就能给我们反馈房间主人的姓名(歌手姓名)了。
点击数字“2”所在单元格!告诉INDEX房间号!
输入单元格内容为:
=INDEX(A:A,D2)
第四步:回车+拖动
按下回车键(键盘上的Enter键)得到第一个查询结果,将鼠标光标移动到单元格右下角,直到鼠标光标由白色十字变成黑色十字,点击不放开并向下拖动,直至与最后一行数据同一行的单元格。
最终结果:
如图1为歌曲信息表,图2位歌手信息表,现需要通过歌曲信息表查找歌手信息表中歌手对应的歌曲,将歌手信息表补充完整,怎样才能快速实现呢?
图1 歌曲信息表
图2 歌手信息表
上文介绍了MATCH和INDEX函数的时候,我们举了个例子:MATCH函数是:你告诉它房间主人的姓名和酒店,它把房间号反馈给你。而INDEX函数则是:你告诉它酒店和房间号,它把房间主人的姓名反馈给你。
首先,如下图,观察一下歌曲信息表不难发现歌曲是和其对应的歌手处于同一行的。换句话就是说,歌手和歌曲的房间号一致(行号是一样的),因此,如果我们通过歌曲信息表中的歌手列查询到了歌手的行号,也就知道歌曲信息表中的歌手的歌曲行号,知道了歌曲信息表中的歌曲行号(房间号)和歌曲信息表中的歌曲列(酒店),那我们就可以通过INDEX函数得到歌曲信息表中的歌曲名(房间主人的姓名)了!
第一步:声明使用MATCH函数
第二步:告知MATCH函数要查找的对象(房间主人的姓名)和列范围(酒店)
1.输入要查找的对象(房间主人的姓名)
2.输入列范围(酒店)
单击歌曲信息表中字母A所在单元格以选中歌曲信息表中的A列。
返回歌手信息表,Excel已自动帮我们输入了歌曲信息表中的A列。
3.输入“0”以使用精确匹配
至此,我们已经拿到了歌曲信息表中的歌曲的行号(房间号),而歌曲信息表中的歌曲列就是歌曲名所在的酒店。所以,我们就可以借助INDEX函数帮助我们查询歌曲名(房间主人的姓名)了!
第三步:告知INDEX函数列范围(酒店)和行号(房间号)
1.声明使用INDEX函数
单元格输入内容为:
=index(,match(A2,[歌曲信息表.xlsx]Sheet1!$A:$A,0))
回顾一下上文提到的 INDEX函数参数
index(行/列范围,行/列号)
对比结构不难发现,“match(A2,[歌曲信息表.xlsx]Sheet1!$A:$A,0)”等价于“行/列号”。也就是说这里我们将match(A2,[歌曲信息表.xlsx]Sheet1!$A:$A,0)得到的结果(歌曲信息表歌曲列的歌曲行号)作为了INDEX函数的第二个参数(行号)——房间号,现在只需要输入INDEX的第一个参数(列范围)——酒店,我们就可以得到歌曲名(房间主人的姓名)了!
2.输入列范围(酒店)
点击歌曲信息表中的字母E所在单元格以选中E列。
返回歌手信息表,Excel已经自动帮我们输入了INDEX函数的列范围。
第四步:回车 + 拖动
最终结果
MATCH和INDEX函数嵌套使用的逻辑可能不像VLOOKUP函数那么容易理解,不过这也和大家第一次接触函数的嵌套有关,多练习练习,熟悉了就不会觉得难理解了。MATCH和INDEX函数的嵌套与VLOOKUP函数各有优缺,VLOOKUP查询逻辑较容易理解,但在被查询的值不满足位于查询范围的第一列时,不得不预先对表做处理才能查询。而MATCH和INDEX没有这样的约束,不过逻辑略显复杂。至于选用什么函数,大家可以根据自己的需要做选择。
最后感谢你能看到这里!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。