上一篇文章,《Excel函数篇INDEX函数》说到了INDEX与MATCH函数的组合运用,今天就单独讲一下MATCH函数
一、认识MATCH函数
二、MATCH函数的常规运用。
1:逆向查询。
由于实际应用中,只要求返回位置的问题不多,好像MATCH函数一时派不上用场了。
其实这个函数更多的时候,是与其他引用类函数组合应用,最典型的使用是与INDEX函数组合,能够完成类似VLOOKUP函数和HLOOKUP函数的查找功能,并且可以实现逆向查询,即从左向右或是从下向上查询。
如下图所示,需要根据E列的姓名在A列查询对应的部门。
在D2单元格输入一下公式,返回查询结果为"物流中心"。
=INDEX(A2:A14,MATCH(E2,B2:B14,0))
MATCH(E2,B2:B14,0),第三个参数0,标识是精确查找,即精确匹配E2单元格"橘右京"在B列的位置,结果为5.
计算结果作为INDEX函数的参数,在A列中,返回对应的值。
使用INDEX函数和MATCH函数的组合应用来查询数据,公式看似相对复杂一些,但在实际应用中,更加灵活多变。
2:查找首先出现的位置
除了使用特定的值作为查询参数,也可以用逻辑值进行查询。
以下图为例,是某公司的销售数据,需要查询首次超过平均销售额的月份。
在D2单元格内,输入公式:
=INDEX(A2:A13,MATCH(TRUE,B2:B13>AVERAGE(B2:B13),0))
由于是数组公式,需要按Shift Ctrl Enter>组合键。
来看看公式的意思:
:AVERAGE(B2:B13),用来计算B2:B13单元格的平均值。
:B2:B13>AVERAGE(B2:B13)部分,是用B2:B13的平均值,分别做比较,得到由逻辑值TRUE或FALSE组成的数组。
c:MATCH函数,第一参数使用逻辑值TRUE,使用精确匹配方式查询TRUE在数组中第一次出现的位置,结果为6.
d:MATCH函数的计算结果,用作与INDEX函数的参数,INDEX函数在根据指定的行列返回A列中对应的月份。
3:查找最后一次出现的位置
除了查询首次出现的位置,MATCH函数还可以查询最后一次出现的位置。
以下图为例,需要查询最后次超过平均销售额的月份。
D6单元格使用以下数组公式,按Shift Ctrl Enter>组合键。
=INDEX(A2:A13,MATCH(2,1*(B2:B13>AVERAGE(B2:B13))))
来看看公式的意思:
1、先使用AVERAGE函数计算出B2:B13单元格的平均值。
2、再用B2:B13与平均值分别作比较,得到由逻辑值TURE或是FALSE组成的内存数组。用1相乘,返回以下结果:
3、MATCH函数以2作为查找值,在这个数组中查找小于或等于2的最大值。
MATCH函数在处理时,只要将第三参数设置为1或者省略,就会默认第二参数是已经按升序排列过的数据,所以会返回最后一个小于或等于2的最大值(也就是1)的位置。
4、最后使用INDEX函数,根据MATCH函数指定的行号返回A列中对应的月份。
欢迎分享及转载文章。
私信 1217 可以获取VBA FOR WPS的安装程序
私信 数据 可以获取SQL代码的Excel文件
私信 视频 可以获取80集VBA入门视频
,