Excel数据分析 - 查找功能

您可以使用Excel函数来减去;

  • 查找一系列数据中的值 -  VLOOKUP和HLOOKUP

  • 从表或范围内获取值或对值的引用 -  INDEX

  • 获取单元格范围内指定项的相对位置 -  MATCH

您还可以组合这些函数,根据您的输入获得所需的结果.

使用VLOOKUP函数

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.

使用带有range_lookup的VLOOKUP函数TRUE

考虑学生标记列表.您可以从包含标记间隔和通过类别的数组中获取VLOOKUP的相应成绩.

table_array :

具有True的Vlookup函数

请注意,获得成绩的第一列标记按升序排序.因此,对range_lookup参数使用TRUE可以获得所需的近似匹配.

将此数组命名为 Grades .

以这种方式命名数组是一个好习惯,这样您就不必记住单元格范围了.现在,您已准备好查找您所拥有的商标列表的等级,如下所示;

等级

如你所见,

  • col_index_num :  ;表示table_array中返回值的列为2

  • range_lookup 为TRUE

    • 包含table_array成绩中的查找值的第一列按升序排列.因此,结果将是正确的.

    • 您也可以获得近似匹配的返回值.即VLOOKUP计算如下 :

标记通过类别
< 35失败
> = 35< 50第三类
> = 50和< 60第二类
> = 60且< 75First Class
> = 75有优异的头等舱

您将获得以下结果 :

具有真实结果的Vlookup函数

使用带有range_lookup的VLOOKUP函数FALSE

考虑包含每种产品的产品ID和价格的产品列表.每当推出新产品时,产品ID和价格将添加到列表的末尾.这意味着产品ID不需要按升序排列.产品列表可能如下所示 :

table_array :

表格数组

将此数组命名为ProductInfo.

您可以使用VLOOKUP函数作为产品获得产品ID的产品价格ID位于第一列.价格在第3列,因此col_index_ num应为3.

  • 使用带有range_lookup的VLOOKUP函数为TRUE

  • 使用带有range_lookup的VLOOKUP函数为FALSE

Vlookup函数with False

来自ProductInfo数组的正确答案是171.65.您可以查看结果.

Vlookup函数带有错误结果

你观察你得到 :

  • 当range_lookup为FALSE且

  • A时的正确结果当range_lookup为TRUE时,结果错误.

这是因为,ProductInfo数组中的第一列未按升序排序.因此,每当数据未排序时,请记住使用FALSE.

使用HLOOKUP函数

您可以使用 HLOOKUP 函数如果数据是行而不是列.

示例

让我们以产品信息为例.假设数组看起来如下 :

Hlookup Function

  • 将此数组命名为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.

使用带有range_lookup的HLOOKUP函数FALSE

您可以获得给定产品ID的产品价格使用HLOOKUP函数作为产品ID在第一行.价格在第3行,因此row_index_ num应为3.

  • 使用带有range_lookup的HLOOKUP函数为TRUE.

  • 使用带有range_lookup的HLOOKUP函数为FALSE.

带有错误的Hlookup函数

ProductRange数组的正确答案是171.65.你可以检查一下结果.

Hlookup Function with False Result

你观察一下,就像VLOOKUP一样,你得到了

  • 当range_lookup为FALSE时的正确结果,

  • 当range_lookup为TRUE时结果错误.

这是因为第一次ProductRange数组中的行未按升序排序.因此,每当数据未排序时,请记住使用FALSE.

使用带有range_lookup的HLOOKUP函数TRUE

考虑VLOOKUP中使用的学生标记示例.假设您有行数而不是列数据,如下表所示 :

table_array :

Hlookup Function with True

将此数组命名为GradesRange.

注意第一行标记基于得到的等级按升序排序.因此,对于range_lookup参数使用带有TRUE的HLOOKUP,您可以获得具有近似匹配的等级,这就是所需要的.

GradesRange

如您所见,

  • row_index_num : 表示table_array中返回值的列为2

  • range_lookup 为TRUE

    • table_array成绩中包含查找值的第一列按升序排列.因此,结果将是正确的.

    • 您也可以获得近似匹配的返回值.即HLOOKUP计算如下 :

标记&LT; 35> = 35< 50> = 50且< 60> = 60且< 75> = 75
传递类别失败第三类第二类First ClassFirst Class with Distinction

您将得到以下结果 :

学生成绩

使用INDEX函数

如果有数据数组,则可以通过指定数组中该值的行号和列号来检索数组中的值.

考虑以下销售数据,其中列出了所列销售人员在北部,南部,东部和西部地区的销售情况.

SalesData

  • 将数组命名为SalesData.

使用INDEX函数,您可以找到 : 去;

  • 某个地区的任何销售人员的销售额.

  • 所有销售人员在一个地区的总销售额.

  • 所有地区的销售人员的总销售额.

使用索引函数

您将得到以下结果 :

使用索引函数结果

假设您不知道行号对于区域的销售人员和列号.然后,您需要在使用索引函数检索值之前先找到行号和列号.

您可以使用MATCH函数执行此操作,如下一节中所述./p>

使用MATCH函数

如果需要某个范围内项目的位置,可以使用MATCH函数.您可以将MATCH和INDEX函数组合如下:

使用匹配函数

您将得到以下结果 :

使用匹配函数结果