Excel LOOKUP()函数
Excel提供了一个名为LOOKUP()的函数来查找数据的近似匹配。它在一个行或一列范围内执行粗略匹配查找。然而,LOOKUP()函数在一个列/行的范围内搜索一个值本身或其近似匹配。
例如, LOOKUP()函数在您没有所需的精确值时非常有用。因此,我们使用其附近的值来查找我们想要的精确结果。LOOKUP()函数将帮助我们在范围内搜索其精确或附近的匹配项。
在MS Excel中,该函数被归类为公式栏中的“查找和引用函数”。您可以从公式选项卡中访问它,并在其用户界面中为其各个字段提供值。您还可以通过其语法直接在公式栏中使用它。除此之外,您还可以多次使用它。
LOOKUP()函数的需求
让我们通过一个场景来理解在Excel中需要LOOKUP()函数的原因。 例如, 我们有一个包含产品ID、产品名称和价格的工作表。这些列包含大量的数据。
用户需要查找价格为829或附近值的产品名称。LOOKUP()函数将帮助我们实现这个结果。我们将使用LOOKUP()函数来查找此值的产品名称。
语法
该函数具有非常不同的参数值,其中前两个是必需的,第三个是可选的。
=LOOKUP(lookup_value, lookup_range, [result_vactor])
在一些Excel教程网站上,您可能会得到LOOKUP()函数的一种或多种语法。第一种语法如上所示,而另一种语法是-
=LOOKUP(lookup_value, array)
您可以将此语法视为没有[result_vector]参数的syntax1。
参数
Lookup()函数由三个参数组成,所有三个参数都很重要,用于查找值并返回结果。
Lookup_value – 此函数的第一个参数是lookup_value,它保存用户在lookup_range中搜索的值。
Lookup_range或数组 – lookup_range参数保存了我们在其中搜索lookup_value的单元格范围。这些单元格范围可以是单行或单列。
[result_vector](可选参数) – result_vector是此函数的最重要但可选的参数。它还包括与lookup_range相对应的单元格范围。
当在lookup_range中找到附近匹配(近似匹配)时,LOOKUP()函数会从result_vector选择相邻值并将其返回给用户。
返回值
LOOKUP()函数返回取决于LOOKUP()函数中传递的参数的任何类型的数据。它可以是数字或字符串。
附加结果:
如果LOOKUP()函数无法找到我们正在搜索的值(lookup_value)的精确匹配项,它会返回小于或等于该值的lookup_range中的最大值。
result_vector的用途是什么
正如我们所知,[result_vector]是一个可选参数,您可以选择使用它或不使用它。
- 如果在LOOKUP()函数中提供了result_vertor参数,则结果值将从此范围中选取,并在找到精确匹配项或近似匹配项时返回给用户。
- 如果没有向LOOKUP()函数提供[result_vertor]参数,则它将返回lookup_range参数中找到的近似匹配值本身。
要理解LOOKUP()函数,重要的是通过示例进行学习,以了解其实际工作方式。我们将在本章稍后使用示例来了解此参数的用法。
如何使用LOOKUP()函数
我们有几个示例,通过提供不同的参数值来学习LOOKUP()函数。这些示例将帮助您更好地学习它。我们将使用两种语法来查看应用于Excel数据时它们将返回什么值。
示例1:使用[result_vector]参数
我们有一个包含产品ID、产品名称和价格列表的工作表。用户想要查找价格为2589或接近的产品名称。我们将使用LOOKUP()函数来找到此值的产品名称。
让我们看看如何使用LOOKUP()函数来实现这个结果,以及它如何帮助我们实现这个结果。
使用LOOKUP()函数的步骤
- 在您想要获得结果的单元格中写入以下LOOKUP()公式。 =LOOKUP(2589, C2:C7, B2:B7)
-
现在,通过按下键盘上的 输入 键,以单击获取结果。查看结果产品名称。
示例2:不使用[result_vector]参数
如果我们不在LOOKUP()函数中使用第三个参数,那么当找到近似值时,它将返回给用户什么是个大问题。
我们将使用上面例子中使用的相同值,以便您可以比较两个结果。
- 不使用[result_vector]值编写LOOKUP()公式,就像这样 – =LOOKUP(1289, C2:C7)
-
现在,按下 输入 键以获取此公式的结果。可以看到它返回了值2549,对应于 扬声器 。
LOOKUP()函数的问题
在使用Excel数据时,您可能会遇到LOOKUP()函数的问题。有时,它不能返回与查找值最接近的近似值。让我们通过一个例子来看看您可能在LOOKUP()函数中遇到的问题的类型。
- 我们正在寻找一个价格约为999的产品。在这种方式下使用LOOKUP()函数: =LOOKUP(999,C2:C7,B2:B7)
-
现在,按下 Enter 键以获取此公式的结果。请注意,它返回了名为 Bluetooth 的产品,其价格为620。
原因和解决方案
返回错误值有两个原因:
- 有时,如果lookup_range参数的值未按升序排序,LOOKUP()函数会返回错误的值。LOOKUP()会将列视为已排序,并选择错误的值作为结果。因此,我们将寻找解决方案。
- 另一个原因是 – 当您将公式从一个单元格复制到另一个单元格时,可能会出现此类错误。单元格引用会更改,导致结果错误。还可能有其他原因。因此,避免复制公式。
Excel提供了一个名为VLOOKUP()的函数,您可以将其作为LOOKUP()函数的替代方法使用。使用它不需要对lookup_range值进行升序排序。
使用LOOKUP()函数时需记住的事项
在对Excel数据应用LOOKUP()公式时,请记住以下几点。
- #N/A错误 – 当LOOKUP()函数无法找到您要查找的值的最接近匹配时,您可能会遇到此错误。这可能是因为 –
- lookup_range参数中的最小值大于lookup_value。
- lookup_range的值没有按升序排序。
- #REF错误 – 当公式寻找不存在的单元格引用时会出现此错误。这可能是因为 –
- 您之前创建了公式,并且在输入LOOKUP()后删除了这些单元格。
- 当您将函数从一个单元格复制到另一个单元格时,公式变得无效并生成此错误。
因此,在处理Excel数据和使用LOOKUP()公式时,应避免出现这些错误。
验证不同的结果值
根据这个Excel电子表格,我们将分析LOOKUP()函数中不同lookup_value的结果。
公式 | 结果 | 描述 |
---|---|---|
=LOOKUP(449, C2:C7, B2:B7) |
#N/A | Lookup_value小于C2:C7 (lookup_range)中的所有值。 |
=LOOKUP(620, C2:C7, B2,B7) |
Bluetooth | 它找到了精确匹配并返回列B中的值。 |
=LOOKUP(620, C2:C7) |
620 | 它找到了lookup_value的精确匹配并从列C中返回。 |