MATCH函数是Excel主要的查找函数之一,在某些方面有特殊的应用,比如说和VLOOKUP/INDEX/OFFSET/INDIRECT这几个函数结合使用,可以解决很多问题。下面是一些MATCH函数的用法举例。
01MATCH函数语法。
作用:返回指定数值在指定数组区域中的位置。
语法:=MATCH(lookup_value,lookup_array,[match_type])。
=MATCH(要查找的值,指定查找的区域或数组,查找的匹配方式)。
(1)Match_Type为可选项,它有三个取值,分别为1、0和-1,如果省略Match_Type,默认取1。
A、如果Match_Type省略或取1,则查找小于等查找值的最大值,并且查找区域要按升序排序,否则可能返回不正确的值。
B、如果Match_Type取0,则查找第一个完全等于查找值的值,查找区域不需要排序。
C、如果Match_Type取-1,则查找大于等于查找值的最小值,查找区域要按降序排序,否则可能返回不正确的值。
(2)当Match_Type为0且查找值是文本,可在查找值中使用通配符“问号(?)和星号(*)”;问号表示任意一个字符,星号表示任意一个或一串字符;如果要查找问号或星号,需要在它们前加转义字符(~);例如:查找问题应该这样写:~?,查找星号应该这样写:~*。
(3)如果Match函数找不到值,将返回错误值#N/A;另外,查找文本时,Match函数不区分大小写。
02VLOOKUP+MATCH组合。
直接举工作中的一个实例来说明,有一份员工数据,然后我们需要根据某几个员工编号,把相应的其它数据查找匹配出来:
因为这里要查找4个信息,一般情况下,都需要使用4次VLOOKUP函数来进行处理
在B12单元格中输入的公式是:
如果需要查找的值更多的话,输入的公式的次数就会更多,这个时候我们用一个技巧来处理,就可以直接快速完成,分两种情况
查找结果顺序和原始数据顺序一致
如果我们需要查找的值,员工,性别,部门,工资和原表中的顺序是一样的,这个时候,可以输入公式:=VLOOKUP(A12,A:E,COLUMN(B2),0),然后向右,向下填充得到所有结果。
第1个参数需要锁定列标,第2个参数数据区域需要固定引用,第3个参数是从第几列开始的,对应列标字母,因为原来的公式是2,所以对于COLUNMN(B1),B后面的数字是多少都没关系。
通过COLUMN函数后
C12的公式变成了:=VLOOKUP(A12,A:E,COLUMN(C2),0)
COLUMN(C2),其实就是等于3
D12的公式变成了:=VLOOKUP(A12,A:E,COLUMN(D2),0)
E12的公式变成了:=VLOOKUP(A12,A:E,COLUMN(E2),0)
查找结果顺序和原始数据顺序不一致
如果现在只需要根据编号,查找其中某些信息,顺序和原始表格中的不一样
这个时候用COLUMN参数是没法批量的,我们使用VLOOKUP+MATCH函数的组合:
=VLOOKUP(A12,A:E,MATCH(B11,A1:E1,0),0)
向下填充,向右填充即可得到所有的结果
03INDEX+MATCH组合。下图中,我们要根据H2单元格的姓名查找到对应的部门,用INDEX+MATCH函数组合,I2单元格公式我们可以这样写:=INDEX(B1:B7,MATCH(H2,C1:C7,0))。
04OFFSET+MATCH组合。下图中,我们要根据H2单元格的姓名和I2单元格的季度查找到对应的销量,用OFFSET+MATCH函数组合,J2单元格公式我们可以这样写:=OFFSET(B1,MATCH(H2,B2:B7,0),MATCH(I2,C1:F1,0))。
05INDIRECT+MATCH组合。下图中,我们要根据H2单元格的姓名和I2单元格的季度查找到对应的销量,用INDIRECT+MATCH函数组合,J2单元格公式我们可以这样写:
=INDIRECT(ADDRESS(MATCH(H2,B1:B7,0),MATCH(I2,B1:F1,0)+1))。
06日期转季度。下图中我们要根据A列的日期判断属于哪个季度的,B2单元格的公式我们可以这样写:=MATCH(MONTH(A2),{1,4,7,10})"季度"。然后将公式下拉至B13单元格即可。
07按指定数字重复。下图中,我们要根据B列指定的次数重复A列的字符,D1单元格的公式我们可以写成:
=INDEX(A:A,MATCH(ROW()-1,SUMIF(OFFSET(B1,,,ROW(1:5)),""))+1)"",该公式输入完之后需要按“Ctrl+Shift+Enter”三键结束公式,然后将公式下拉至D10单元格即可。
08计算不重复产品个数。下图中,我们要根据A列的产品名称,计算出不重复的产品个数,相同的产品只记为1个,D4单元格的公式我们可以写成:=SUM(N(MATCH(A2:A10,A2:A10,0)=ROW(1:9)))。该公式输入完之后需要按“Ctrl+Shift+Enter”三键结束公式。
09提取不重复值。下图中,我们要根据A列的产品名称,提取出不重复的产品产品,相同的产品只提取1个,F2单元格的公式我们可以写成:=INDEX(A:A,SMALL(IF(MATCH(A2:A10,A2:A10,0)=ROW(1:9),ROW(2:10),4^8),ROW(A1)))""。该公式输入完之后需要按“Ctrl+Shift+Enter”三键结束公式。然后将公式下拉至D10单元格即可。
MATCH函数的用法,今天就讲到这里了,如果您还知道有其它的用法,可以在评论区留言跟大家一起分享哦~
异乡闲人喜欢作者