MATCH函数的作用是查找某目标值在一行或一列区域中的位置,它的基础语法如下。

MATCH(lookup_value,lookup_array,[match_type])

参数lookup_value代表的是要查找的目标值,参数lookup_array代表的是查找的区域或数组,注意只可以是一行或一列,不可是多行或多列的情况。参数match_type指定的是查找方式,MATCH有以下3种查找方式。

(1)数字0代表精确匹配,本篇着重讲这个参数。

(2)数字1代表模糊匹配,要求查找区域必须升序排列,查找的时候执行“二分法”策略,本书第9篇会专门介绍。

(3)数字-1代表模糊匹配,要求查找区域必须降序排列,查找时是按照从上到下或从左到右的遍历查找方式。在实际工作中,基本上不会用到-1这个参数,大家仅做了解即可。

如图26-1所示,D13:D20是数据区域。

match函数排序的使用方法(MATCH函数精确匹配)(1)

在F14单元格中输入公式:

=MATCH("黄承彦",$D$13:$D$20,0)

这是查找目标值“黄承彦”在D13:D20单元格区域的位置,返回结果为3。

第3个参数数字0,表示精确匹配。大家在函数初学阶段,千万不要盲目地省略参数、字符,我们在工作中运用函数的目的是“偷懒”,但前提要准确。

INDEX函数和MATCH有效地结合在一起,可以完成很多事情。现在就让它们来完成各种查询操作,如图26-3所示,A1:G9单元格区域是基础数据源,其中A列是部门,B列是员工号,C列是姓名,D~G列是基本工资、绩效奖、加班费及总工资。

match函数排序的使用方法(MATCH函数精确匹配)(2)

根据不同的员工号,查找每个员工号对应的姓名,首先在K3单元格中输入以下公式,查找各个学号在数据源中的位置。

=MATCH(J3,B:B,0)

返回结果为2,说明员工号201位于表格B列的第2行,然后就可以利用INDEX函数来引用这个数字,得到相应姓名,于是将公式写成:

=INDEX(C:C,MATCH(J3,B:B,0))

返回结果为“马岱”,将K3单元格的公式向下复制到K5单元格。利用MATCH函数找到位置,然后用INDEX函数去提取相应位置的信息,这就是我们常用的“套路”。

,