WorksheetFunction.Lookup 方法 (Excel)

从单行或单列区域或者从一个数组返回值。 Lookup 函数有两种语法形式:矢量形式和数组形式。

语法

表达式查找 (Arg1Arg2Arg3)

表达 一个代表 WorksheetFunction 对象的变量。

参数

名称 必需/可选 数据类型 说明
Arg1 必需 Variant Lookup_value - Lookup 在第一个向量中搜索的值。 Lookup_value 可以是数字、文本、逻辑值、名称或对值的引用。
Arg2 必需 Variant Lookup_vector或数组 - 在矢量形式中,一个仅包含一行或一列的区域。 lookup_vector 中的值可以是文本、数字或逻辑值。 在数组形式中,为包含要与 lookup_value 进行比较的文本、数字或逻辑值的单元格区域。
Arg3 可选 Variant Result_vector - 仅与矢量形式一起使用。 只包含一行或一列的区域。 它必须与 lookup_vector 大小相同。

返回值

Variant

说明

如果您想要 请参见 用法
在单行区域或单列区域(称为“向量”)中查找值,然后返回第二个单行区域或单列区域中相同位置的值。 向量形式 当要查询的值列表较大或者值可能会随时间而改变时,使用该向量形式。
在数组的第一行或第一列中查找指定的数值,然后返回数组的最后一行或最后一列中相同位置的数值。 数组形式 当值列表较小并且值在一段时间内保持不变时,使用该数组形式。

矢量形式

向量是只包含一行或一列的区域。 Lookup 的向量形式在单行或单列范围中查找 (称为值的向量) ,并从第二个单行或单列区域中的相同位置返回值。 如果要指定包含要匹配的值的区域,请使用此形式的 Lookup 函数。 另一种 查找 形式会自动在第一列或第一行中查找。

重要

lookup_vector中的值必须按升序排列:...,-2,-1,0,1,2,...,A-Z,FALSE,TRUE;否则, Lookup 可能无法提供正确的值。 文本不区分大小写。

如果 Lookup 找不到lookup_value,则它与小于或等于 lookup_value 的lookup_vector中的最大值匹配。

如果lookup_value小于lookup_vector中的最小值, 则 Lookup 会提供#N/A 错误值。

数组形式

Lookup 的数组形式在数组的第一行或第一列中查找指定值,并从数组最后一行或最后一列中的相同位置返回值。 当要匹配的值位于数组的第一行或第一列中时,请使用这种形式的 Lookup 。 如果要指定列或行的位置,请使用另一种 查找 形式。

提示

通常,最好使用 HLookupVLookup 函数,而不是 查找的数组形式。 提供这种形式的 查找 是为了与其他电子表格程序的兼容性。

  • 如果 Lookup 找不到lookup_value,它将使用数组中小于或等于lookup_value的最大值。

  • 如果lookup_value小于第一行或第一列 (中的最小值,具体取决于数组维度) , Lookup 将返回#N/A 错误值。

Lookup 的数组形式与 HLookupVLookup 函数非常相似。 区别在于 ,HLookup 在第一行中搜索lookup_value, VLookup 在第一列中搜索, 查找 根据数组的尺寸搜索。

  • 如果数组覆盖的区域大于其高 (列多于) 行, 则 Lookup 在第一行中搜索lookup_value。

  • 如果数组为正方形或大于其宽度 (行多于) 列, 则查找 将在第一列中搜索。

  • 使用 HLookupVLookup,可以向下编制索引或跨索引,但 Lookup 始终选择行或列中的最后一个值。

重要

数组中的值必须按升序排列:...,-2,-1,0,1,2,...,A-Z,FALSE,TRUE;否则, Lookup 可能无法提供正确的值。 文本不区分大小写。

注意

还可以将 Lookup 函数用作 IF 函数的替代方法,用于针对 7 个以上的条件进行详细测试或测试。 请参阅数组形式的示例。

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。