admin管理员组

文章数量:1566650

1.INDEX函数

语法: INDEX(array, row_num, [column_num])

array: 单元格区域(查找的数据范围)

row_num: 第几行(以单元格区域左上角为起点)

column_num: 第几列(可选)

在给定的单元格区域中,INDEX函数用于返回特定行列交叉处单元格的值或引用(根据指定的行号和列号来返回一个值)

案例

1.某企业要求查询5月份销量 (从列中提取单元格数据)

INDEX函数可以提取单列数据中指定行位置的数据,INDEX(单列区域, 第几行)

2.某企业要求按地区查询广州的销量 (从行中提取提取单元格数据)

INDEX函数可以提取单行数据中指定列位置的数据,INDEX(单行区域, 第几列)

3.某企业要求按照月份和地区双条件查询2月份广州的销量 (按两个条件从指定区域提取单元格数据)

INDEX函数可以提取多行多列数据中指定行列位置的数据,INDEX(多行多列区域,第几行,第几列)

在以上的案例中,INDEX函数中的行、列参数的数字都是手动输入的,为了实现让公式跟随查询条件自动更新,可以使用MATCH函数自动计算得到需要的行、列位置

2.MATCH函数

语法: MATCH(lookup_value, lookup_array, [match_type])

lookup_value: 要查找的值 (查找的内容单元格)

lookup_array: 查找区域 (单行或单列区域)

match_type: 匹配类型 (match_type的取值: 1,0,-1)

                     match_type取值为1: 查找小于或等于lookup_value的最大值

                     match_type取值为0: 查找精确等于lookup_value的第一个值

                     match_type取值为-1: 查找大于或等于lookup_value的最小值

MATCH函数用于返回符合特定值特定顺序的项在数组中的相对位置

在实际工作中,MATCH函数经常用来与INDEX函数嵌套使用

案例

1.查找“3月”所在的相对位置 (查找指定数据在列区域中的相对位置)

2.查找“广州”所在的相对位置 (查找指定数据在行区域中的相对位置)

3.查找小于1900工资的最大值的相对位置

3.INDEX + MATCH组合

VLOOKUP函数在查询的时候只能从左往右查询,且查询对象所在的列必须要在查询区域的第一列,也就是说,只能通过A列来查询B列或其他列,而不能通过B列或其他列来反向查询A列

反向查询这类问题可以通过使用INDEX + MATCH两个函数进行组合求解

MATCH函数用来定位,INDEX函数根据定位来返回指定位置的值

使用MATCH函数来为INDEX函数的第二个参数提供值,告诉INDEX函数要返回的是第几个值

借助INDEX+MATCH函数组合实现从各种区域(单行、单列、多行多列)中按条件提取数据

案例

1.查询员工编号"LR0003"的姓名 (反向查询,从C列查询A列)

当要查询的条件(如“员工编号”)在表格中的位置(如C列)处在要返回的数据(如“姓名”)在表格中的位置(如A列)的右侧时,使用VLOOKUP函数无法按照C列的“员工编号”查询A列的“姓名”,但INDEX + MATCH函数组合对数据位置没有要求,依然可以得到查询结果

2.查询员工编号"LR003"应发工资

公式中的“C:C”代表整个C列,“F:F”代表整个F列

3.某企业要求按照月份和地区双条件查询3月份广州的销量数据 (多条件查询)

H2单元格输入: =INDEX(B2:D7,MATCH(F2,A2:A7,0),MATCH(G2,B1:D1,0))

此公式计算原理的解析分为以下3步:

1.使用“MATCH(F2,A2:A7,0)”根据月份条件定位目标数据所在的行数据

2.使用“MATCH(G2,B1:D1,0)”根据地区条件定位目标数据所在的列数据

3.将MATCH函数返回的行、列位置传递给INDEX函数,用于从多行多列单元格区域中的指定行、列交叉点位置提取数据

本文标签: 函数ExcelMATCHINDEX