打开网易新闻 查看精彩图片

大家好,我是永不止步的老牛

今天我们要分享的是Match函数的用法

打开网易新闻 查看精彩图片

Match函数的语法是:Match(lookup_value, lookup_array, [match_type]),其中

lookup_value:是要查找的值

lookup_array:是查找的区域,只能是单独的一行或一列

match_type:是查找方式,只能是-1、0、1 ,[]表示可选的,不是必须项,默认是1。

match_type=-1时,表示会查找大于或等于lookup_value的最小值,此时lookup_array必须按降序排序,如果没有按降序排序,将会返回#N/A。

match_type=1时,表示会查找小于或等于lookup_value的最大值,此时lookup_array必须按升序排序,如果没有按升序排序,将会返回#N/A。

match_type=0时,表示会查找等于lookup_value的第一个值,可以按任何顺序排序,如果没有查找到匹配项,将会返回#N/A。

什么意思呢?就是说你可以通过这个函数查找某个值(lookup_value)在lookup_array(一行或一列)的位置,就是第几个,我们用一个例子来描述:

下图模拟了一些学生语文十二次模考的成绩数据

打开网易新闻 查看精彩图片

下来我们演示如何通过Match函数来获取到“赵六”在学生中处于第几行,首先我们定义lookup_array是B5:B12,要查找赵六,所以lookup_value=“赵六”,因为要精准匹配,所以match_type=0,只要输入公式=MATCH("赵六",B5:B12,0),就能返回我们需要的结果4了,表示赵六在学生中(B5:B12)的第4行。

打开网易新闻 查看精彩图片

了解了Match的使用方法后,下面我们讲一下Match经常会用在哪里

1、数据比对

我们把刚才例子的数据变一下,假如有两份成绩表,其中学生姓名有可能录入错误,我们现在要找出来录入错误的地方,如下图

打开网易新闻 查看精彩图片

我们假设以语文老师登记的为正确数据,用B5(张三)在B17:B24中的学生进行比对,并将比对结果返回到A5处,我们只要在A5中输入公式=MATCH(B5,$B$17:$B$24,0)。

打开网易新闻 查看精彩图片

依次类推比对B6:B12的数据,结果分别返回到A6:A12,结果如下:

打开网易新闻 查看精彩图片

A5:A12中有数字的表示对应的B列学生在B17:B24中有完全一样的,#N/A表示对应的B列学生在B17:B24中没有出现过。当然,为了显示美观我们可以对比对结果处理一下。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

2、数据查重

我们继续改变一下刚才的数据,假设有两个班,老师想找出来相同名字的学生,结果继续放在A5:A12处,我们只要在A5处输入如下公式=IF(ISNA(MATCH(B5,$B$17:$B$24,0)),"","重名"),A6:A12依次类推。还是这些函数,一切看你如何应用。

打开网易新闻 查看精彩图片

3、和其他函数组合使用

今天只讲一下Match函数和Index函数的组合使用,这两个函数经常搭配使用,我们用下图为例。

打开网易新闻 查看精彩图片

其中B16可以选择学生,我们要根据B16选择的学生,将对应的十二次模考成绩显示到C16:N16中,我们的思路是:根据选择的学生,用Match函数先找到该学生所在的行号,再使用Index函数获取该行号对应的十二次模考成绩,关于如何设置下拉框选择及Index函数的使用方法,可以看我另一篇文章“轻松工作之用好Index函数”。

打开网易新闻 查看精彩图片

最后要说一点,当match_type=0,并且要查找的内容为文本字符串时,可以使用通配符(*和?)进行查找,星号表示任意一串字符,问号表示任意单个字符,如果需要查找星号和问号本身,需要在星号和问号前加波形符~,此时星号和问号只代表一个字符,不是通配符。

Excel函数及技巧持续更新中,如果对你有帮助,请关注点赞支持一下。

轻松工作之用好Index函数