Excel数据分析第五讲(MATCH函数)

如题所述

第1个回答  2022-07-11
在本课程中,我们来学习和掌握 MATCH 函数。

首先说说 MATCH 的语法规则。该函数的语法规则如下:

MATCH (lookup_value, lookup_array,[match_type])

参数

lookup_value 必填参数,需要在 lookup_array 中查找的值。例如,如果要在电话簿中查找某人的电话号码,则应该将姓名作为查找值,但实际上需要的是电话号码。

lookup_value 参数可以为值(数字、文本或逻辑值)或对数字、文本或逻辑值的单元格引用。

lookup_array 必填参数,要搜索的单元格区域。

match_type 可选参数,数字 -1、0 或 1。match_type 参数指定 Excel 如何在  lookup_array 中查找 lookup_value 的值。此参数的默认值为 1。

下表介绍该函数如何根据  match_type 参数的设置查找值:

Match_type :1 或省略,表示MATCH 函数会查找小于或等于  lookup_value 的最大值。lookup_array 参数中的值必须按升序排列,例如:...-2, -1, 0, 1,2, ..., A-Z, FALSE, TRUE。

Match_type :0,表示MATCH 函数会查找等于  lookup_value 的第一个值。 lookup_array 参数中的值可以按任何顺序排列。

Match_type :-1,表示MATCH 函数会查找大于或等于  lookup_value  的最小值。 lookup_array  参数中的值必须按降序排列,例如:TRUE,FALSE, Z-A, ...2, 1, 0, -1, -2, ... 等等。

功能

MATCH  函数可在单元格区域中搜索指定项,然后返回该项在单元格区域中的相对位置。

接下来我们用两个实例来学习如何使用 MATCH 函数。

第一个例子用的示例表格如下。表格列举了从一月到六月份,4个NBA大头公仔的销售情况。

接下来的问题是如何用 MATCH 函数写一个公式计算某个指定公仔产品在某个月份的销售额。首先把B4:G7这个区域命名为 Sales 。然后在C10单元格输入公式 =MATCH(A10,A4:A7,0) ,D10单元格输入公式 =MATCH(B10,B3:G3,0) ,E10单元格输入公式 =INDEX(Sales,C10,D10), 详见下图

使用公式 =MATCH(A10,A4:A7,0) 得到 Kobe 这个产品在被查找区域对应第2行,使用公式 =MATCH(A10,A4:A7,0) 得到 June 这个月在被查找区域对应第6列,最后再使用INDEX函数,使用公式 =INDEX(Sales,C10,D10), 就得到 Kobe 这个公仔产品在 June 这个月的销售数字。

下面再举一个例子说明如何使用 MATCH 函数。下图列出了401个俱乐部球员在2001赛季的薪资。这里的薪资没有被排序。我们的问题是如何使用公式找到薪资最高球员,和薪资排名第5的球员。

解决这个问题的思路如下:

1.    首先使用 MAX 函数找到最高的薪资,使用 LARGE 函数找到第5高的薪资

2.    然后用上面找到的两笔薪资作为被查找的值,使用 MATCH 函数找到这两笔薪资的相对位置

3.    最后使用 VLOOKUP 函数和上一步获得的两笔薪资的相对位置得到这两笔薪资对应的球员名字。

下图是最后得到的结果。从下图中可见,我们在C9单元格输入公式 =MAX(salaries) 得到最高薪资,在D9单元格输入公式 =LARGE(salaries,5) 得到第5高的薪资。然后用获得的这两笔薪资作为 MATCH 函数的输入,使用公式 =MATCH(C9,salaries,0) 和公式 =MATCH(D9,salaries,0) 得到这两笔薪资在薪资范区域的相对位置。最后,我们把获得的两个相对位置作为 VLOOKUP 的输入,使用公式 =VLOOKUP(C8,lookup,2) 和公式 =VLOOKUP(D8,lookup,2) 就得到了最高薪资的球员姓名和薪资排名第5高的球员的姓名。

以上就是今天的课程,大家有什么问题可以给我留言
相似回答