Excel表格中LOOKUP函数的全面使用指南

一、LOOKUP函数概述

LOOKUP函数是Excel中经典的查找与引用函数,主要用于在单行或单列中查找特定值,并返回另一行或列中对应位置的值。它有两种形式:向量形式数组形式

二、向量形式

当需要在一行或一列中查找时,使用向量形式。

语法

=LOOKUP(lookup_value, lookup_vector, [result_vector])
  • lookup_value:要查找的值。
  • lookup_vector:只包含一行或一列的区域,值必须按升序排列。
  • result_vector:可选,与lookup_vector大小相同的区域,返回对应结果。

示例

假设A列有学生姓名(按字母顺序),B列有成绩,查找“张三”的成绩:
=LOOKUP("张三", A2:A10, B2:B10)

注意:如果lookup_vector未按升序排列,结果可能错误。升序要求字母按A-Z,数字从小到大。

三、数组形式

当lookup_value在数组的第一行或第一列时使用。

语法

=LOOKUP(lookup_value, array)
  • array:包含值的单元格区域。若数组宽度大于高度(列数>行数),则在第一行查找;若高度大于宽度,则在第一列查找。

示例

假设数据区域A1:C3,第一行是科目,下面是对应分数,查找“数学”对应的值:
=LOOKUP("数学", A1:C3) 返回数学列第一行以下的值(假设数组是2行3列,则返回第二行对应值)

注意:数组形式返回的是与查找值在同一列(若在第一行查找)或同一行(若在第一列查找)的最后一个匹配值,且同样要求数据升序。

四、使用注意事项

  • 升序排序:两种形式都要求查找向量或数组第一行/列按升序排列,否则可能返回错误值。
  • 近似匹配:如果找不到精确匹配,LOOKUP会返回小于lookup_value的最大值。
  • 数据类型:lookup_value与查找区域的数据类型需一致(文本或数字)。
  • 区分大小写:LOOKUP不区分大小写。

五、与其他查找函数对比

  • VLOOKUP:垂直查找,按列查找,需要精确或近似匹配,且查找值必须在第一列。
  • HLOOKUP:水平查找,按行查找。
  • MATCH+INDEX:更灵活,可返回位置和任意方向的值。
  • XLOOKUP(Excel 365/2021):升级版,无需排序,可双向查找。

六、常见错误

  • #N/A:找不到查找值,且所有值都大于lookup_value。
  • #REF!:result_vector与lookup_vector大小不一。
  • #VALUE!:数据类型不匹配。

七、实战案例

案例:根据产品编号查找价格。假设编号列A2:A10(升序),价格列B2:B10。公式:
=LOOKUP(E2, A2:A10, B2:B10),其中E2为要查找的编号。若编号不存在,返回小于E2的最大编号对应的价格。

建议:若需要精确匹配,优先使用VLOOKUP的第四个参数FALSE或XLOOKUP。