MATCH函数,擅长打辅助位。
单独使用的场景很少,经常嵌套在其他函数中使用。
语法:MATCH(lookup_value,lookuparray,match-type)
返回查找值在区域中的位置 → 说人话!(¬_¬) → 简单点,一个找位置的函数
lookup_value:需要查找的内容
lookuparray:需要查找的区域(在什么地方找)
match-type:查找的方式(有三种,1,0,-1。如下图) 大多情况下都是精确匹配【0】
写成中文语法,是这样的: MATCH(查找值,查找区域,查找方式)
注意点:
①、MATCH查找不区分大小写
②、查找区域必须是单行,单列
③、第三个参数省略不写,默认是1,注意区域的排序
④、支持通配符查找
⑤、MATCH只返回第一次出现的位置
如果返回结果出现错误值 #N/A,如何检查:
①、查找值和查找区域的格式是否一致
②、一边是否存在空格,或者是其他不可见符号
③、区域是否是单列,单行
④、查找值是否真在区域中 ( ̄_, ̄ )
单写MATCH的情况很少,和其他函数嵌套使用才能发挥最大的作用
嵌套MATCH 最多的要数 INDEX 函数
万金油组合 INDEX + MATCH,查找引用函数必须学会的一个套招
=INDEX(D:D,MATCH(F2,A:A,0))
要查找王翠的数学成绩,用INDEX引用数学成绩这一列,然后用MATCH找到王翠在姓名列的位置,得到值【6】给INDEX,最终得到数学列第五行的数据,即王翠的数学成绩。
=INDEX(B:D,MATCH(F2,A:A,0),MATCH(G1,B1:D1,0))
也可以选中所有的数据区域,然后用两个MATCH,找到姓名所在的行,MATCH(F2,A:A,0)
科目所在的列,MATCH(G1,B1:D1,0)
需要注意的是,MATCH和INDEX的区域,要对应。
INDEX+MATCH,逆向查找:
=INDEX(A2:A9,MATCH(H2,B2:B9,0))
INDEX+MATCH,多条件查找:
=INDEX(E2:E9,MATCH(H5&I5,A2:A9&B2:B9,0))
区域链接 A2:A9&B2:B9 这部分是数组,所以这个公式是数组公式,需要三键结束
之前也写过用LOOKUP 进行逆向查找,和多条件查找。所以不要死在VLOOKUP上,方法总比问题多
MATCH返回的是指定值所在区域的位置,而大部分查找引用函数都有位置引用的参数,
嵌套MATCH,就不需要我们去目测。
另类用法:
根据A列的类容,需要在汉字和数字之间添加一个空格
=REPLACE(A1,MATCH(1>0,MID(A1,ROW($1:$30),1)<"吖",0),," ") 数组公式
解析:先用MID将A1单元格的字符串,一个一个的取出来,MID(A1,ROW($1:$30),1)
然后将取出来的字符和【吖】进行比较 MID(A1,ROW($1:$30),1)<"吖",得到FALSE,TRUE组成的一个数组(汉字是FALSE,数字是TRUE)
吖 → 能用到的最小汉字(汉字也是可以比较大小的)
1>0 生成逻辑值TRUE(也可以直接写TRUE),用MATCH去区域中找第一个位置(即第一个数字的位置)
然后用文本替换函数 REPLACE,在指定的位置插入一个空格
未完待续……