
一起认识MATCH函数
数据分析师在做excel师使用MATCH 函数应用非常广泛,可以在单元格区域中搜索指定项,然后返回该项在单元格区域中的相对位置。今天咱们就一起认识这个函数,领略它的魅力。
MATCH函数的运算方式
这个函数有三个参数,其中第一个参数是查找对象,第二参数指定查找的范围或是数组,第三参数为查找的匹配方式。
第三参数有三个选项:0、1、-1,分别表示精确匹配、升序查找、降序查找模式。
例1:以下公式返回2。
=MATCH("A",{"C","A","B","A","D"},0)
第三参数使用0,表示在第2个参数的数组中精确字母"A"第一次出现的位置为2,不考虑第2次出现位置,且第2个参数无需排序。
例2:以下公式返回3。
=MATCH(6,{1,3,5,7},1)
第三参数使用1,(也可省略),其中第2个参数的数组要求按升序排列,并查找出小于或等于6的最大值(即数组中的5)在第3个元素位置。
例3:以下公式返回2。
=MATCH(8,{11,9,6,5,3,1},-1)
其中第2个参数的数组要求按降序排列,并查找出大于或等于8的最小值(即数组中的9)在第2个元素位置。
MATCH函数与INDEX函数逆向查询
由于实际应用中,只要求返回位置的问题不多,好像MATCH函数一时派不上用场了。其实这个函数更多的时候,是与其他引用类函数组合应用,最典型的使用是与INDEX函数组合,能够完成类似VLOOKUP函数和HLOOKUP函数的查找功能,并且可以实现逆向查询,即从左向右或是从下向上查询。
如下图所示,需要根据E列的姓名在A列查询对应的部门。
以前咱们说过,对于这种逆向查询的数据可以使用LOOKUP函数,今天再说说用INDEX+MATCH函数实现的方法。
D2单元格输入以下公式:
=INDEX(A:A,MATCH(E2,B:B,))
返回查询结果为采购部。
INDEX函数是常用的引用类函数之一,可以在一个区域引用或数组范围中,根据指定的行号和列号来返回一个值。
MATCH(E2,B:B,)部分,第三参数简写,表示使用0,即精确匹配方式查询E2单元格姓名“小美”在B列的位置,结果为4。计算结果用作INDEX函数的参数,INDEX函数再根据指定的行号返回A列中对应的值。
使用INDEX函数和MATCH函数的组合应用来查询数据,公式看似相对复杂一些,但在实际应用中,更加灵活多变。
查找首次出现的位置
数据分析师除了使用特定的值作为查询参数,也可以使用逻辑值进行查询。以下图为例,是某公司的销售数据。需要查询首次超过平均销售额的月份。
D2单元格使用以下数组公式,记得要按<Shift+Ctrl+Enter>组合键:
=INDEX(A2:A13,MATCH(TRUE,B2:B13>AVERAGE(B2:B13),))
来看看公式的意思:
1、AVERAGE(B2:B13)部分,用来计算出B2:B13单元格的平均值895.33。
2、B2:B13>AVERAGE(B2:B13)部分,用B2:B13与平均值分别作比较,得到由逻辑值TRUE或是FALSE组成的内存数组:
{FALSE;FALSE;FALSE;TRUE;…;TRUE}
3、MATCH函数第一参数使用逻辑值TRUE,使用精确匹配方式查询TRUE在数组中第一次出现的位置,结果为4。本例中的第一参数也可以写成“1=1”,1=1返回逻辑值TRUE,与直接使用TRUE效果相同。
4、MATCH函数的计算结果用作INDEX函数的参数,INDEX函数再根据指定的行号返回A列中对应的月份。
查找最后一次出现的位置
除了查询首次出现的位置,MATCH函数还可以查询最后一次出现的位置。以下图为例,需要查询最后次超过平均销售额的月份。
D2单元格使用以下数组公式,按<Shift+Ctrl+Enter>组合键:
=INDEX(A2:A13,MATCH(1,0/(B2:B13>AVERAGE(B2:B13))))
来看看公式的意思:
1、先使用AVERAGE函数计算出B2:B13单元格的平均值。
2、再用B2:B13与平均值分别作比较,得到由逻辑值TRUE或是FALSE组成的内存数组。
用0除以这个内存数组,返回以下结果:
{#DIV/0!;#DIV/0!;0;0;0;…;#DIV/0!}
3、MATCH函数以1作为查找值,在这个数组中查找小于或等于1的最大值。
在开始部分的例2中咱们说过,MATCH函数第三参数使用1或是省略时,要求第2个参数的数组按升序排列。但在这个数组中,实际是由很多个0和错误值#DIV/0!组成的,并不是升序排列。MATCH函数在处理时,只要将第三参数设置为1或是省略,就会默认第二参数是已经按升序排列过的数据,所以会返回最后一个小于或等于1的最大值(也就是0)的位置。
4、最后使用INDEX函数,根据MATCH函数指定的行号返回A列中对应的月份。
与VLOOKUP函数配合实现动态查询
以下图为例,是某单位职工工资表的部分内容。咱们要做的,是要根据姓名和项目,来实现一个动态的查询效果。
步骤1 单击A9单元格,依次点击【数据】【数据验证】(07 10版本中叫做数据有效性),设置序列来源为A2:A6。
步骤2 单击B8单元格,以同样的方法设置数据验证,序列来源选择项目所在单元格:
=$B$1:$H$1
这时候,只要单击A9或是B8单元格,就可以在下拉列表中选择不同的姓名或是项目了:
步骤3 B9单元格输入以下公式:
=VLOOKUP(A9,A:H,MATCH(B8,A1:H1,),)
简单说说公式的含义:
MATCH(B8,A1:H1,)部分,在B8单元格选择不同的项目,MATCH函数即计算出该项目在A1:H1单元格中的位置,计算结果用作vlookup函数的第三参数。
vlookup函数使用A9作为查询值,查询的区域为A:H列,由MACHT函数计算出要返回查询区域的第几列。CDA数据分析师
只要在A9单元格的下拉列表中选择不同的姓名,或是在B8单元格的下拉列表中选择不同的项目,公式就会动态返回不同姓名、不同项目的查询结果。
与OFFSET函数配合实现动态汇总
在实际工作中,很多时候需要汇总某个时间段的数据,比如说一至三季度的销售额,4-6月份的利润等等。以下图为例,需要根据A9单元格的业务员姓名和D8单元格指定的截止月份,汇总指定业务员从一月份至该月份的销售业绩完成情况。
C7单元格使用以下公式:
=SUM(OFFSET(B1,MATCH(A9,A2:A6,),,,MATCH(D8,B1:J1,)))
1、MATCH(A9,A2:A6,)部分,精确查找A9单元格姓名在A2:A6单元格区域中的位置。
2、MATCH(D8,B1:J1,) 部分,精确查找D8单元格月份在B1:J1单元格区域中的位置。
3、OFFSET函数以B1单元格为基点,向下偏移的行数为MATCH(A9,A2:A6,)的计算结果。向右偏移的列数为0列,新引用的列数为MATCH(D8,B1:J1,) 的计算结果。实际引用的范围即B5:F5单元格区域。
OFFSET函数的引用过程如下图所示:
4、最后使用SUM函数计算该区域的和,完成销售业绩汇总。
课后练习
今天的内容是入门篇,列举的例子是比较简单的,实际工作中,往往会有很多奇葩的数据源表,看看在下面这个图中,如何根据E2单元格的姓名查询A列对应的部门呢?数据分析师培训
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
“纲举目张,执本末从。”若想在数据分析领域有所收获,一套合适的学习教材至关重要。一套优质且契合需求的学习教材无疑是那关键 ...
2025-06-092025 年,数据如同数字时代的 DNA,编码着人类社会的未来图景,驱动着商业时代的运转。从全球互联网用户每天产生的2.5亿TB数据, ...
2025-05-27CDA数据分析师证书考试体系(更新于2025年05月22日)
2025-05-26解码数据基因:从数字敏感度到逻辑思维 每当看到超市货架上商品的排列变化,你是否会联想到背后的销售数据波动?三年前在零售行 ...
2025-05-23在本文中,我们将探讨 AI 为何能够加速数据分析、如何在每个步骤中实现数据分析自动化以及使用哪些工具。 数据分析中的AI是什么 ...
2025-05-20当数据遇见人生:我的第一个分析项目 记得三年前接手第一个数据分析项目时,我面对Excel里密密麻麻的销售数据手足无措。那些跳动 ...
2025-05-20在数字化运营的时代,企业每天都在产生海量数据:用户点击行为、商品销售记录、广告投放反馈…… 这些数据就像散落的拼图,而相 ...
2025-05-19在当今数字化营销时代,小红书作为国内领先的社交电商平台,其销售数据蕴含着巨大的商业价值。通过对小红书销售数据的深入分析, ...
2025-05-16Excel作为最常用的数据分析工具,有没有什么工具可以帮助我们快速地使用excel表格,只要轻松几步甚至输入几项指令就能搞定呢? ...
2025-05-15数据,如同无形的燃料,驱动着现代社会的运转。从全球互联网用户每天产生的2.5亿TB数据,到制造业的传感器、金融交易 ...
2025-05-15大数据是什么_数据分析师培训 其实,现在的大数据指的并不仅仅是海量数据,更准确而言是对大数据分析的方法。传统的数 ...
2025-05-14CDA持证人简介: 万木,CDA L1持证人,某电商中厂BI工程师 ,5年数据经验1年BI内训师,高级数据分析师,拥有丰富的行业经验。 ...
2025-05-13CDA持证人简介: 王明月 ,CDA 数据分析师二级持证人,2年数据产品工作经验,管理学博士在读。 学习入口:https://edu.cda.cn/g ...
2025-05-12CDA持证人简介: 杨贞玺 ,CDA一级持证人,郑州大学情报学硕士研究生,某上市公司数据分析师。 学习入口:https://edu.cda.cn/g ...
2025-05-09CDA持证人简介 程靖 CDA会员大咖,畅销书《小白学产品》作者,13年顶级互联网公司产品经理相关经验,曾在百度、美团、阿里等 ...
2025-05-07相信很多做数据分析的小伙伴,都接到过一些高阶的数据分析需求,实现的过程需要用到一些数据获取,数据清洗转换,建模方法等,这 ...
2025-05-06以下的文章内容来源于刘静老师的专栏,如果您想阅读专栏《10大业务分析模型突破业务瓶颈》,点击下方链接 https://edu.cda.cn/g ...
2025-04-30CDA持证人简介: 邱立峰 CDA 数据分析师二级持证人,数字化转型专家,数据治理专家,高级数据分析师,拥有丰富的行业经验。 ...
2025-04-29CDA持证人简介: 程靖 CDA会员大咖,畅销书《小白学产品》作者,13年顶级互联网公司产品经理相关经验,曾在百度,美团,阿里等 ...
2025-04-28CDA持证人简介: 居瑜 ,CDA一级持证人国企财务经理,13年财务管理运营经验,在数据分析就业和实践经验方面有着丰富的积累和经 ...
2025-04-27