如题所述
当您需要查询一行或一列并查找另一行或列中的相同位置的值时,会使用其中一个查找和引用函数 LOOKUP。
LOOKUP 有两种使用方式:向量形式和数组形式
我们先看一个下面的一个例子,填充图书名称和单价列。
按以往的经验,我们可以用VLOOKUP解决。
这里我们用LOOKUP函数,在E3单元格输入=LOOKUP(D3,$J$3:$J$19,$K$3:$K$19)在F3单元格输入=LOOKUP(D3,$J$3:$L$19)第一个公式我们用了LOOKUP函数向量形式用法;第二个公式我们用了LOOKUP函数数组形式用法。
下面我们具体看看这2种用法。
1、LOOKUP 的向量形式使用方法在单行区域或单列区域(称为“向量”)中查找值,然后返回第二个单行区域或单列区域中相同位置的值。LOOKUP(LOOKUP_value, LOOKUP_vector, [result_vector])LOOKUP_value要找的值LOOKUP_vector在那一列或行找[result_vector] 返回那一列,如果 LOOKUP 函数找不到 LOOKUP_value,则会找到 LOOKUP_vector 中小于且最接近或等于LOOKUP_value值。下面我们在C2单元格输入=LOOKUP(B2,$F$3:$F$7,$G$3:$G$7),向下填充即可得到所有人的等次级别。
当然,我们用VLOOKUP近似查找的用法也能做,我们可以输入公式=VLOOKUP(B2,$F$3:$G$7,2,1),一样很简单。但是如果成绩和级别顺序颠倒了,用VLOOKUP就比较麻烦了,可是用LOOKUP函数还是一样的简单,如下图所示。
2、LOOKUP 的数组形式使用方法在数组的第一行或第一列中查找指定的值,并返回数组最后一行或最后一列中同一位置的值。数组形式用法只有2个参数,LOOKUP_value:在数组中搜索的值。array:查找区域,返回查找区域最后一列的值。如果 LOOKUP 函数找不到 LOOKUP_value,会找到数组中小于且最接近或等于 LOOKUP_value的值。我们在C2单元格同样也可以输入=LOOKUP(B2,$F$3:$G$7)
显然此用法可以用VLOOKUP 、HLOOKUP代替,而 LOOKUP此法的不足是始终选择行或列中的最后一个值。难怪官方解释提示: 强烈建议使用 VLOOKUP 或HLOOKUP,不要使用LOOKUP数组形式。