史上最全的MATCH函数使用指南,不看一定后悔
MATCH函数是我们在进行数据查询时候,常用到的一个函数,我们来看看这个函数完整的使用方法!
本文内容有点多,建议各位先保存再看。
01
函数表达式
MATCH函数的表达式是:MATCH(查找的值, 查找的区域, 精确查找或模糊查找)
这个表达式是什么意思呢,我们下面结合两个具体的应用场景来看一下。
02
用法详解
一、查找纵列位置
我们用酒店这个表为例,来看看用MATCH函数是如何帮我们查询的。
我们选中所有的酒店,在名称这里定义这个区域为酒店。
然后我们在I14的单元格,选择菜单栏上的数据,数据验证,选择序列,然后在来源这里按F3,选择酒店,确定,这样我们就可以建立一个下拉的选项卡了。
之后我们用match函数来查找这个酒店,位于酒店序列里的第几个。
我们就输入match函数,然后选择I14,再选择A5到A12,最后是0,回车,最后结果就会返回这个酒店位于序列当中的第几个。
最后结果是4,说明它排在序列当中的第四个。
二、查找横列位置
我们选中月份这一行,定义这一行为月份。
建立选择数据验证,选择序列,然后在来源这里按F3,选择月份,确定。
我们输入一个match函数,然后查找4月份位于月份序列当中的第几个,最后是0,返回的结果是4.
就说明4月在月份序列当中的第四个。
以上就是MATCH函数的常见用法。
那这里就有同学可能会有疑问了,最后一个参数,也就是查找的类型除了0之外,其他的用法是怎么用的呢?
下面我们就来看看它的其他查找模式。
三、降序查找
在下面的案例当中,我们要查找销售额大于指定数值的数量,比如我们指定的销售额是4000.
我们想知道销售额大于4000的,一共有多少个,我们就可以利用MATCH函数降序查找的模式。
首先我们先对原本的销售额数据,设置成降序排列的模式,也就是数值从高到底排列。
之后我们在F18单元格录入函数公式:=MATCH(E18,C18:C27,-1)
得到的结果是4,也就是说明销售额大于4000的,一共有4个。
四、升序查找
在下面的案例当中,我们要查找销售额小于指定数值的数量,比如我们指定的销售额是4000.
我们想知道销售额小于4000的,一共有多少个,我们就可以利用MATCH函数升序查找的模式。
首先我们先对原本的销售额数据,设置成升序排列的模式,也就是数值从低到高排列。
之后我们在F32单元格录入函数公式:=MATCH(E32,C32:C41,1)
得到的结果是6,也就是说明销售额小于4000的,一共有6个。
五、查找重复值
有两列数据,如果我们想知道这两列数据有没有重复的数值,我们也可以利用MATCH函数精确查找的特性来进行查找。
比如上面的案例,我们想知道编号1和编号2两列的数据是否有重复,我们就可以录入下面的公式。
=IFERROR(MATCH(C46,$B$46:$B$55,0),'唯一值')
这公式表示,先去查找C46单元格的值,看它在B46到B55这个区间能不能找到,如果能找到,就返回具体的行号,如果找不到,就返回唯一值。
通过这个公式,我们就可以知道两列数据有那些是重复的,那些是唯一的,重复的数据又在哪个位置。
六、与VLOOKUP函数结合
MATCH函数的作用在于,查找某个字段在它所在字段当中的序号。
比如在下面这个案例当中,我们查找【班级】字段在所在字段列表当中的第几列,我们就可以使用函数:
=MATCH(D23,B23:G23,0)
得到的结果就是3,表示班级在所有字段当中的第三列。
这个功能有什么用呢,它就可以解决VLOOKUP函数第三个参数不能引用的问题。
在前面这个案例当中,正是VLOOKUP函数第三个参数不能引用,所以才导致结果错误。
我们可以借助MATCH函数,先计算出每个字段位于字段列表当中的第几个,再嵌套到VLOOKUP函数里面,这样我们就不用手动更改第三个参数了。
最终公式为:=VLOOKUP($I24,$B$24:$G$31,MATCH(J$23,$I$23:$N$23,0),0)
其中:MATCH(J$23,$I$23:$N$23,0)部分,则是计算每个字段位于字段列表当中的第几个。
这样我们就通过函数让第三个参数具备了引用的属性。
七、与INDEX函数结合
在前面的酒店的案例当中,我们通过MATCH函数已经得知,酒店在第四行、月份在第四列。
那么可以结合INDEX函数,算出具体的数值。
Index函数它的表达式是:INDEX(查找的区域,第几行,第几列)
我们在这里就用来查找宜居酒店4月份的销量,输入index函数,选择数据区域(B5到M12),注意这里不包括酒店和月份,然后是第3行,第四列,最后返回的结果就是100.
以上就是MATCH函数的常见用法,希望对大家有所帮助!