📜  Excel数据分析-查找功能

📅  最后修改于: 2020-12-01 05:52:53             🧑  作者: Mango


您可以使用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才能正常工作。否则,可能导致错误的值。在这种情况下,请将FALSE用于range_lookup。

将VLOOKUP函数与range_lookup结合使用

考虑一个学生成绩单。您可以使用VLOOKUP从包含分数区间和及格类别的数组中获得相应的成绩。

table_array-

具有True的Vlookup函数

请注意,根据其获得成绩的第一列标记按升序排序。因此,将TRUE用作range_lookup参数,您可以获得所需的近似匹配。

将此数组命名为Grades

以此方式命名数组是一个好习惯,这样您就不必记住单元格范围了。现在,您可以按照以下方式查找分数列表的等级-

年级

如您所见,

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

  • range_lookup为TRUE

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

    • 您还可以获取近似匹配的返回值。即VLOOKUP计算如下-

Marks Pass Category
< 35 Fail
>= 35 and < 50 Third Class
>= 50 and < 60 Second Class
>=60 and < 75 First Class
>= 75 First Class with Distinction

您将获得以下结果-

具有真正结果的Vlookup函数

结合使用VLOOKUP函数和range_lookup FALSE

考虑一个包含每个产品的产品ID和价格的产品列表。每当启动新产品时,产品ID和价格将添加到列表的末尾。这意味着产品ID不必按升序排列。产品列表可能如下所示-

table_array-

表格数组

将此数组命名为ProductInfo。

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

  • 将VLOOKUP函数与range_lookup一起使用为TRUE
  • 使用VLOOKUP函数,将range_lookup设置为FALSE

带有False的Vlookup函数

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

具有错误结果的Vlookup函数

您发现自己得到了-

  • range_lookup为FALSE时的正确结果,并且
  • range_lookup为TRUE时错误的结果。

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

使用HLOOKUP函数

如果数据是行而不是列,则可以使用HLOOKUP函数。

让我们以产品信息为例。假设数组如下所示-

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才能正常工作。否则,可能导致错误的值。在这种情况下,请将FALSE用于range_lookup。

结合使用HLOOKUP函数和range_lookup FALSE

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

  • 使用HLOOKUP函数,将range_lookup设置为TRUE。
  • 使用HLOOKUP函数,将range_lookup设置为FALSE。

具有False的Hlookup函数

ProductRange数组的正确答案是171.65。您可以检查结果。

具有错误结果的Hlookup函数

您观察到,就像在VLOOKUP的情况下,

  • range_lookup为FALSE时的正确结果,并且

  • range_lookup为TRUE时错误的结果。

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

将HLOOKUP函数与range_lookup结合使用

考虑在VLOOKUP中使用的学生分数示例。假设您将数据放在行中,而不是列中,如下表所示:

table_array-

具有True的Hlookup函数

将此数组命名为GradesRange。

注意,根据其获得成绩的第一行标记按升序排序。因此,将HLOOKUP与TRUE一起用于range_lookup参数,即可获得具有近似匹配的成绩,这是必需的。

成绩范围

如您所见,

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

  • range_lookup为TRUE

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

    • 您还可以获取近似匹配的返回值。即HLOOKUP计算如下-

Marks < 35 >= 35 and < 50 >= 50 and < 60 >=60 and < 75 >= 75
Pass Category Fail Third Class Second Class First Class First Class with Distinction

您将获得以下结果-

学生成绩

使用INDEX功能

当您具有数据数组时,可以通过指定数组中该值的行号和列号来检索数组中的值。

考虑以下销售数据,您可以在其中找到列出的销售人员在北部,南部,东部和西部地区的销售情况。

销售数据

  • 将数组命名为SalesData。

使用INDEX函数,您可以找到-

  • 某个地区中任何销售人员的销售。
  • 所有销售人员在一个地区的总销售。
  • 所有地区销售员的总销售额。

使用索引功能

您将获得以下结果-

使用索引函数结果

假设您不知道销售人员的行号和区域的列号。然后,您需要先找到行号和列号,然后才能使用index函数检索值。

您可以使用MATCH函数执行此操作,如下一节所述。

使用MATCH功能

如果您需要某个项目在某个范围内的位置,则可以使用MATCH函数。您可以结合使用MATCH和INDEX函数,如下所示:

使用匹配功能

您将获得以下结果-

使用匹配功能结果