欢迎光临本站
我们一直在努力

MATCH函数:查找指定值在数组中的位置。

今天我们来聊一聊另外一个家族——查找家族!说起查找家族,相信大家首先想到的就是vlookup函数。这位大哥打拼沙场多年,早已名扬万里!相信接触过excel的小伙伴都多少略有耳闻。然而今天我们要说的是它身边得力小弟——match函数!

Excel函数学习之MATCH()函数的使用方法

这个小弟呀,虽然单拎出来能力不咋的,但是跟着大哥组队,那效果可是杠杠的!

 

Excel函数学习之MATCH()函数的使用方法

 

我们先来认识认识他吧

一、MATCH是谁?

MATCH是查找定位函数,它返回的并不是数据本身,而是该数据在单列或单行中的位置。类似于排队报数,站在第几个,MATCH就报几号!(注意:它只支持单列或单行数据查找哦~)

函数结构:MATCH(找啥,在哪儿找[单行或单列],查找类型)

查找类型:3种。分别用0、1、-1代表。0表示精确查找,1表示升序查找,-1表示降序查找。

二、MATCH基本用法

1.精确查找

举个栗子Excel函数学习之MATCH()函数的使用方法Excel函数学习之MATCH()函数的使用方法Excel函数学习之MATCH()函数的使用方法

我们想知道“张三”在“姓名”这列区域排第几位。

Excel函数学习之MATCH()函数的使用方法

公式:

=MATCH(B3,B$2:B$8,0)

Excel函数学习之MATCH()函数的使用方法

公式解析:

找啥:找“张三”,所以是B3单元格

在哪儿找:在姓名列B2:B8中找。为了防止向下填充公式姓名列区域变动,需要用$将它固定住,即B$2:B$8。

查找类型:0表示精确查找。精确查找不需要排序。

2.升序查找

升序查找就是查找小于等于查找值的最大值然后返回其所在位置。要求数据必须升序排列。

同样举个栗子Excel函数学习之MATCH()函数的使用方法Excel函数学习之MATCH()函数的使用方法Excel函数学习之MATCH()函数的使用方法

我们想知道不大于60的有几个。

Excel函数学习之MATCH()函数的使用方法

首先对成绩按升序进行排列。

Excel函数学习之MATCH()函数的使用方法

然后在D3中输入公式:=MATCH(60,B20:B40,1)

Excel函数学习之MATCH()函数的使用方法

确定后就得到了人数8人。很显然升序排列后,返回的是小于等于60的最后一个数值的位置数;也可以理解为统计了凡是不大于60的包括所有等于60的数值的个数。

3.降序查找

降序查找就是查找大于等于查找值的最小值然后返回其所在位置。要求必须降序排列。

同样举个栗子Excel函数学习之MATCH()函数的使用方法Excel函数学习之MATCH()函数的使用方法Excel函数学习之MATCH()函数的使用方法

我们想知道不小于60的有几个。接着上面的,首先降序排列数据。

Excel函数学习之MATCH()函数的使用方法

然后在E3中输入公式:=MATCH(60,B20:B40,-1)

Excel函数学习之MATCH()函数的使用方法

确定后得到不小于60的有14人。

得到两个很显然的结果:

(1)降序后,升序查找就出错了。所以升序查找就必须升序排列;反过来,降序查找就必须降序排列。

(2)降序查找,返回的是大于60中的最小数或者第一个等于60的数的位置数;也可以理解为统计了所有大于60的包括第一个等于60的数值的个数。这一点与升序筛选不同:如果存在与查找值相同的数值,升序定位到等于查找值的最后一个数值,而降序定位到等于查找值的第一个数值。

明白了MATCH是谁和基本用法,估计大家都会认为MATCH有点鸡肋:就用来返回位置数,跟我想要查找具体的值相差很远呀。

正因为这样,日常工作中MATCH函数单独出场几乎么有。MATCH并不气馁,为了赢得自己在函数界的一席之地,它采用了一项有效策略——同巨人结伴共舞!因此有了大名鼎鼎的VLOOKUP+MATCH组合、INDEX+MATCH组合。

三、与巨人共舞

1. VLOOKUP+MATCH组合

下面是一张成绩明细表,我们需要找到“元菁米、王慧、廉枫、余迈”这几个人的总分、平均分和等级。

Excel函数学习之MATCH()函数的使用方法

如果单用VLOOKUP函数,我们需要频繁的修改第三参数。当查总分的时候,在P2单元格输入公式:

=VLOOKUP(O2,A2:M142,11,0)

而要查平均分的时候,就需要修改第三参数为12,公式变为:

=VLOOKUP(O2,A2:M142,12,0)

如此使用很麻烦,那怎么能省事呢?

MACTH抓紧机会向VLOOKUP推荐了自己,用自己查询“总分”“平均分”“等级”在A1:M1行中的位置数取代第三参数,就可以不需要手动修改。这时查找总分的公式就变成:

=VLOOKUP($O2,$A$2:$M$142,MATCH(P$1,$A$1:$M$1,0),0)

然后右拉填充再下拉填充公式就完成了查询。如下:

Excel函数学习之MATCH()函数的使用方法

可能有伙伴看到过我们前面的文章《会用Column吗?它让公式不那么笨。》,说用COLUMU取代第三参数更简单:

=VLOOKUP($O2,$A$2:$M$142,COLUMN(K1),0)

Excel函数学习之MATCH()函数的使用方法

说得没错,当前查询值连续排列的,并且排列顺序与成绩明细排列一致,用COLUMN更简单。如果是按下面的两个表查询呢?

Excel函数学习之MATCH()函数的使用方法    Excel函数学习之MATCH()函数的使用方法

很显然COLUMN就不适合了,但MATCH完全胜任。

Excel函数学习之MATCH()函数的使用方法

2. INDEX+MATCH组合

还是查成绩,如下:

Excel函数学习之MATCH()函数的使用方法

我们单用INDEX查询成绩的话,何丛良的数学成绩查询公式:=INDEX(A2:D9,5,2),物理成绩查询公式:= INDEX(A2:D9,5,4)。

INDEX查询就是以指定的查询区域为坐标系,通过行坐标和列坐标查询所需数值。何丛良成绩的查询区域是A2:D9,数学成绩位于第5行和第2列的交叉点上,所以公式就是INDEX(A2:D9,5,2)。物理成绩位于第5行第4列的交叉点上,所以公式是INDEX(A2:D9,5,4)。

通过这样输入行数、列数的方式查询太笨拙,不实用。因此MATCH又见缝插针地向INDEX推荐了自己。MATCH可以根据条件查出定位值,取代人工输入行数、列数。成绩查询公式变成:

=INDEX($A$2:$D$9,MATCH($F3,$A$2:$A$9,0),MATCH(G$2,$A$2:$D$2,0))

Excel函数学习之MATCH()函数的使用方法

当然这里也可以用VLOOKUP+MATCH组合,公式:

=VLOOKUP($F3,$A$2:$D$9,MATCH(G$2,$A$2:$D$2,0),0)

那VLOOKUP+MATCH组合与INDEX+MATCH组合有何区别呢?这个问题在后续的函数课堂中我们将谈到。有兴趣的伙伴可以自己先琢磨琢磨。

怎么样,大哥和小弟的组合是不是很棒呢?所以说MATCH函数不愧为函数中的哲学家!今天的函数课就到此为止,我们下期再见。

相关学习推荐:

以上就是Excel函数学习之MATCH()函数的使用方法的详细内容,更多请关注有卡有网

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《MATCH函数:查找指定值在数组中的位置。》
文章链接:https://www.youkayouwang.com/kaquan-baike/qita/123569.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。