{match函数}:返回符号特定值特定顺序的项在数组中的相对位置
浏览人数:一、函数英语单词
match英 [mætʃ] 美 [mætʃ]
- n. 火柴;比赛,竞赛;对手;相配的人(或物);(计算机)匹配;配合;搭配;相似的东西;婚姻;配偶
- v. 相配,相称;相似;与……成对;配对;敌得过,比得上;使等同于;使……对应;满足;与……竞争;结婚
二、函数含义和参数
match函数的分类属于:查找与引用函数打开excel表格,点击编辑栏前的插入函数图标fx,弹出插入函数窗口,在选择类别中选择分类:查找与引用函数,可看到该函数的官方解释:

函数:的含义和参数:
返回符号特定值特定顺序的项在数组中的相对位置
match(lookup_value,lookup_array,match_type)
解释:
一共有3个参数
第1个参数:要查找的值。lookup_value:可以为数值(数字、文本或逻辑值)或对数字、文本或逻辑值的单元格引用。可以包含通配符、星号 (*) 和问号 (?),可以是一个区域(性质为数组)
第2个参数:查找的值所在的列,行,此处重点是,只能为1行,或者1列。lookup_array:可能包含有所要查找数值的连续的单元格区域,区域必须是某一行或某一列,即必须为一维数据,引用的查找区域是一维数组。
第3个参数:有-1,0,1三种参数,默认使用0,精确查找,1表示升序排列,-1表示降序排列。
对于区域中存在多个值的情况,使用第3个参数为0时,只返回查找到的值在区域中的第一个位置。
三、函数的使用方法及实例
实例一:使用录入的姓,名1,名2,自动生成姓名2个字的,以及2个或者3个字的表,然后使用match函数来演示各种情况。
gif动画演示教程如下:

当I6的内容为序号时,区域就是为A列
=MATCH(I6,A:A,0)
当I6的内容为姓名时,区域就是为G列
=MATCH(I6,G:G,0)
其中,不管是A列,还是G列,区域只为1列,如果是行,也只能为1行。返回的,是此区域中,查找到第1个参数所在的行数。
当I6的内容为性别时,区域就是H列
=MATCH(I6,H:H,0)
这个演示的,是当值有多个时,match,配合第3个参数0使用时,只返回查找到的第1个值所在的行数。
实例二:
现有A列原始数据,要求查询出此列数据中第一次出现的位置,如下图:

macth函数支持数组,支持区域作为查询对象,所以,我们使用了同一个区域为2个参数,最后0使用精确查找就可以获得我们想要的结果。
b2:b16区域的数组公式为:
=MATCH($A$2:$A$16,$A$2:$A$16,0)
在此基础之上,如果再配合if判断对应的行号,就可以获取出去重的效果。
实例三:
match只能单行,或者单列,应用的场景就会少很多,如下面的场景不例,假设有一个班级表,需要查询某个学生所在的班级情况。

D34单元格公式:
=SUM(($B$27:$D$29=C34)*($A$27:$A$29))
区域=用来判断是否存在此姓名,如果存在,则为真值,乘对应的行号,得出对应的值,再配合sum得出行号,因为假值在excel中对应的都是0,所以求和是求不出来的,是可以得出正确的结果。
注意,最后数组结束是使用ctrl+shift+回车。
实例四:
除了使用sum数组的方式来实现外,还可以使用sumproduct函数,专门就是数组(多行,多列单计算)解决此问题。

E34单元格公式:
=SUMPRODUCT(($B$27:$D$29=C34)*$A$27:$A$29)
注意:此公式是不需要数组结束的,
附:如果要求班级,可以使用column函数,再配合offset或者是index。
制作表格zhizuobiaoge.com
Copyright@all rights reserved