您可以使用Excel函数来减去;
查找一系列数据中的值 - VLOOKUP和HLOOKUP
从表或范围内获取值或对值的引用 - INDEX
获取单元格范围内指定项的相对位置 - MATCH
您还可以组合这些函数,根据您的输入获得所需的结果.
VLOOKUP函数的语法是
VLOOKUP(lookup_value,table_array,col_index_num,[range_lookup] )
其中
lookup_value : 是你想要查找的值. Lookup_value可以是值或对单元格的引用. Lookup_value必须位于table_array中指定的单元格范围的第一列
table_array : 是VLOOKUP将在其中搜索lookup_value和返回值的单元格范围. table_array必须包含
第一列中的lookup_value,
您要查找的返回值
注意 : 包含lookup_value的第一列可以按升序排序.但是,结果将基于此列的顺序.
col_index_num : 是table_array中包含返回值的列号.对于表格数组的最左侧列,数字从1开始
range_lookup : 是一个可选的逻辑值,指定您是希望VLOOKUP查找完全匹配还是近似匹配. range_lookup可以
省略,在这种情况下假设它为TRUE且VLOOKUP试图找到近似匹配
TRUE,在这种情况下,VLOOKUP会尝试查找近似匹配项.换句话说,如果未找到完全匹配,则返回小于lookup_value的下一个最大值
FALSE,在这种情况下VLOOKUP尝试查找完全匹配
1,在这种情况下,假设它为TRUE且VLOOKUP试图找到近似匹配
0,在这种情况下假定为FALSE且VLOOKUP试图找到完全匹配
注意 : 如果省略range_lookup或TRUE或1,则仅当table_array中的第一列按升序排序时,VLOOKUP才能正常工作.否则,可能会导致值不正确.在这种情况下,对range_lookup使用FALSE.
考虑学生标记列表.您可以从包含标记间隔和通过类别的数组中获取VLOOKUP的相应成绩.
table_array :
请注意,获得成绩的第一列标记按升序排序.因此,对range_lookup参数使用TRUE可以获得所需的近似匹配.
将此数组命名为 Grades .
以这种方式命名数组是一个好习惯,这样您就不必记住单元格范围了.现在,您已准备好查找您所拥有的商标列表的等级,如下所示;
如你所见,
col_index_num : ;表示table_array中返回值的列为2
range_lookup 为TRUE
包含table_array成绩中的查找值的第一列按升序排列.因此,结果将是正确的.
您也可以获得近似匹配的返回值.即VLOOKUP计算如下 :
标记 | 通过类别 |
---|---|
< 35 | 失败 |
> = 35< 50 | 第三类 |
> = 50和< 60 | 第二类 |
> = 60且< 75 | First Class |
> = 75 | 有优异的头等舱 |
您将获得以下结果 :
考虑包含每种产品的产品ID和价格的产品列表.每当推出新产品时,产品ID和价格将添加到列表的末尾.这意味着产品ID不需要按升序排列.产品列表可能如下所示 :
table_array :
将此数组命名为ProductInfo.
您可以使用VLOOKUP函数作为产品获得产品ID的产品价格ID位于第一列.价格在第3列,因此col_index_ num应为3.
使用带有range_lookup的VLOOKUP函数为TRUE
使用带有range_lookup的VLOOKUP函数为FALSE
来自ProductInfo数组的正确答案是171.65.您可以查看结果.
你观察你得到 :
当range_lookup为FALSE且
A时的正确结果当range_lookup为TRUE时,结果错误.
这是因为,ProductInfo数组中的第一列未按升序排序.因此,每当数据未排序时,请记住使用FALSE.
您可以使用 HLOOKUP 函数如果数据是行而不是列.
让我们以产品信息为例.假设数组看起来如下 :
将此数组命名为ProductRange.您可以通过HLOOKUP函数找到产品ID的产品价格.
HLOOKUP函数的语法是
HLOOKUP(lookup_value,table_array,row_index_num,[range_lookup])
其中
lookup_value : 是表格第一行中的值
table_array : 是一个查询数据的信息表
row_index_num : 是table_array中将从中返回匹配值的行号
range_lookup : 是一个逻辑值,指定您是否希望HLOOKUP找到完全匹配或近似匹配
range_lookup 可以
省略,在这种情况下,假设它为TRUE且HLOOKUP试图找到近似匹配
TRUE,在这种情况下,HLOOKUP会尝试查找近似匹配项.换句话说,如果未找到完全匹配,则返回小于lookup_value的下一个最大值
FALSE,在这种情况下,HLOOKUP尝试查找完全匹配
1,在这种情况下,假设它为TRUE且HLOOKUP试图找到近似匹配
0,在这种情况下假设为FALSE且HLOOKUP试图找到完全匹配
注意 : 如果range_lookup为Omitted或TRUE或1,则只有在table_array中的第一列按升序排序时,HLOOKUP才能正常工作.否则,可能会导致值不正确.在这种情况下,对range_lookup使用FALSE.
您可以获得给定产品ID的产品价格使用HLOOKUP函数作为产品ID在第一行.价格在第3行,因此row_index_ num应为3.
使用带有range_lookup的HLOOKUP函数为TRUE.
使用带有range_lookup的HLOOKUP函数为FALSE.
ProductRange数组的正确答案是171.65.你可以检查一下结果.
你观察一下,就像VLOOKUP一样,你得到了
当range_lookup为FALSE时的正确结果,
当range_lookup为TRUE时结果错误.
这是因为第一次ProductRange数组中的行未按升序排序.因此,每当数据未排序时,请记住使用FALSE.
考虑VLOOKUP中使用的学生标记示例.假设您有行数而不是列数据,如下表所示 :
table_array :
将此数组命名为GradesRange.
注意第一行标记基于得到的等级按升序排序.因此,对于range_lookup参数使用带有TRUE的HLOOKUP,您可以获得具有近似匹配的等级,这就是所需要的.
如您所见,
row_index_num : 表示table_array中返回值的列为2
range_lookup 为TRUE
table_array成绩中包含查找值的第一列按升序排列.因此,结果将是正确的.
您也可以获得近似匹配的返回值.即HLOOKUP计算如下 :
标记 | < 35 | > = 35< 50 | > = 50且< 60 | > = 60且< 75 | > = 75 |
---|---|---|---|---|---|
传递类别 | 失败 | 第三类 | 第二类 | First Class | First Class with Distinction |
您将得到以下结果 :
如果有数据数组,则可以通过指定数组中该值的行号和列号来检索数组中的值.
考虑以下销售数据,其中列出了所列销售人员在北部,南部,东部和西部地区的销售情况.
将数组命名为SalesData.
使用INDEX函数,您可以找到 : 去;
某个地区的任何销售人员的销售额.
所有销售人员在一个地区的总销售额.
所有地区的销售人员的总销售额.
您将得到以下结果 :
假设您不知道行号对于区域的销售人员和列号.然后,您需要在使用索引函数检索值之前先找到行号和列号.
您可以使用MATCH函数执行此操作,如下一节中所述./p>
如果需要某个范围内项目的位置,可以使用MATCH函数.您可以将MATCH和INDEX函数组合如下:
您将得到以下结果 :