LOOKUP函数的特别之处

LOOKUP函数是一个查找函数,可以从单行或单列区域或者从一个数组返回值。LOOKUP函数具有两种语法形式:向量形式和数组形式。

一键直达 >> Excel函数学习7:LOOKUP函数

数组形式是为了保证其与其他电子表格产品的兼容,因此,在这种情形下,应尽量使用更为便捷的VLOOKUP函数或HLOOKUP函数。

LOOKUP函数之美

LOOKUP函数有一些特别之处,正是这些特别之处显示了LOOKUP函数之美。

LOOKUP函数的特别之处之一:其向量形式

LOOKUP函数可以在单行区域或单列区域(称为“向量”)中查找值,然后返回另一个单行区域或单列区域中相同位置的值。当要查询的值列表较大或者值可能会随时间而改变时,使用这种向量形式。

LOOKUP函数的向量形式的基本使用如图1所示。

图1

注意,在使用LOOKUP函数查询时,必须按升序排列查询的数据。

LOOKUP函数的特别之处之二:允许其参数生成数组

如图2所示的工作表,要求利润值为负值的最后一个月,单元格F3中的公式为:

=LOOKUP(2,1/(B2:B13<0),A2:A13)

公式中,测试单元格区域B3:B13中的值是否小于0,将结果除1,得到数组:

{1;#DIV/0!;#DIV/0!;1;#DIV/0!;#DIV/0!;#DIV/0!;1;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!}

然后,LOOKUP函数在该数组中查找2,很显然找不到该数值,因此找到最后一个数字值1,并返回该值所在位置相同行的列A中的月份值。

图2

这样,不需要像数组公式一样,在输入完后需按Ctrl+Shift+Enter键。

LOOKUP函数的特别之处之三:使用一个极大数找到满足条件的最后一个数据

如图3所示的工作表,查找列A中最后一个数的公式为:

=LOOKUP(9.99999999999999E+307,A:A)

公式中,使用了Excel能够表示的最大的数字9.99999999999999E+307,LOOKUP函数查找该数,很显示找不到,因此返回列A中的最后一个数字。

图3

这里使用的是LOOKUP函数的数组形式。注意到,列A中包含文本且没有排序。

示例

分别查找每名员工最近出差的日期

如图4所示的工作表,在A1:B10中列出了每名员工2017年出差时间,并已按顺序升序排列。单元格E3:E5中是这些员工最近出差的日期。

单元格E3中的公式:

=LOOKUP(D3,$A$2:$A$10,$B$2:$B$10)

下拉至单元格E5。

图4

结语

看起来,LOOKUP函数可能没有VLOOKUP函数使用广泛,但存在即有道理。正如本文介绍的,LOOKUUP函数的特别之处让其在公式中也有很多用武之地。

(0)

相关推荐