怎么在excel中使用lookup函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么在excel中使用lookup函数相关的知识,希望对你有一定的参考价值。

在excel中使用lookup函数的具体操作步骤如下:

1、首先我们打开电脑上的excel软件打开如图所示的表格,要在信息表中找出指定员工的部门,而且查询方式为从右向左。

2、我们用到函数LOOKUP,常规用法=LOOKUP(1,0/(条件区域=指定条件),要返回的区域)。

3、我们在要存放的单元格里输入使用公式:=LOOKUP(1,0/(D2:D10=F3),B2:B10)。

4、然后即可查找到指定员工的部门。


5、我们可以按照此方式使用lookup函数查询到表中其他员工职位。

参考技术A

Excel中lookup函数的用法:

1.lookup函数的含义

把数(或文本)与一行或一列的数据依次进行匹配,匹配成功后,然后把对应的数值查找出来。

Lookup函数分为向量型查找和数组型查找。

在一列或一行中查找某个值,称为向量型查找。

在数列或数行中查找称为数组型查找。

2.lookup函数的语法格式

向量型查找=lookup(lookup_value,lookup_vector,result_vector)

=lookup(查找的值,查找的范围,返回值的范围)

数组型查找= lookup(lookup_value,array)

=lookup(查找的值,数组)

3.参数lookup_value表示查找的值——它的形式可以是:数字、文本、逻辑值或包含数值的名称或引用。

参数lookup_vector表示查找的范围——只包含一行或一列的区域。

参数result_vector表示返回值的范围——只包含一行或一列的区域,且其大小必须与 lookup_vector(查找的范围)一致。


举例说明如下:

1.通过姓名,查找数据;输入公式如下:

2.下拉填充,得到结果:

参考技术B   矢量形式的 LOOKUP
矢量形式的 LOOKUP 在一行或一列区域(称为矢量)中查找值,然后返回另一行或一列区域中相同位置处的值。如果要指定其中包含要匹配的值的区域,请使用这种形式的 LOOKUP 函数。
矢量形式的语法
1.LOOKUP(lookup_value,lookup_vector,result_vector)
Lookup_value 是 LOOKUP 在第一个矢量中搜索到的值。Lookup_value 可以是数字、文本、逻辑值,也可以是代表某个值的名称或引用。
Lookup_vector 是一个仅包含一行或一列的区域。lookup_vector 中的值可以是文本、数字或逻辑值。
2.重要说明:lookup_vector 中的值必须按升序顺序排列。例如,-2、-1、0、1、2 或 A-Z 或 FALSE、TRUE。否则,LOOKUP 返回的值可能不正确。大写和小写文本是等效的。
Result_vector 是一个仅包含一行或一列的区域。它的大小必须与 lookup_vector 相同。
3.注意
如果 LOOKUP 找不到 lookup_value,它会匹配 lookup_vector 中小于或等于 lookup_value 的最大值。
如果 lookup_value 小于 lookup_vector 中的最小值,则 LOOKUP 会返回 #N/A 错误值。
示例

  数组形式的 LOOKUP
数组形式的 LOOKUP 在数组的第一行或列中查找指定值,然后返回该数组的最后一行或列中相同位置处的值。如果要匹配的值位于数组的第一行或列中,请使用这种形式的 LOOKUP。
数组形式的语法
LOOKUP(lookup_value,array)
Lookup_value 是 LOOKUP 在数组中搜索到的值。Lookup_value 可以是数字、文本、逻辑值,也可以是代表某个值的名称或引用。
如果 LOOKUP 找不到 lookup_value,它会使用该数组中小于或等于 lookup_value 的最大值。
如果 lookup_value 小于第一行或列(取决于数组维度)中的最小值,则 LOOKUP 会返回 #N/A 错误值。
Array 是一个单元格区域,其中包含要与 lookup_value 进行比较的文本、数字或逻辑值。
数组形式的 LOOKUP 与 HLOOKUP 函数和 VLOOKUP 函数相似。其区别是 HLOOKUP 在第一行中搜索 lookup_value,VLOOKUP 在第一列中进行搜索,而 LOOKUP 根据数组的维度进行搜索。
如果 array 所覆盖区域的宽度大于高度(列多于行),则 LOOKUP 会在第一行中搜索 lookup_value。
如果 array 所覆盖的区域是正方形或者高度大于宽度(行多于列),则 LOOKUP 会在第一列中进行搜索。
使用 HLOOKUP 和 VLOOKUP 时,可以向下索引或交叉索引,但 LOOKUP 始终会选择行或列中的最后一个值。
重要说明:array 中的值必须按升序顺序排列。例如,-2、-1、0、1、2 或 A-Z 或 FALSE、TRUE。否则,LOOKUP 返回的值可能不正确。大写和小写文本是等效的。本回答被提问者和网友采纳
参考技术C 上图举例说明你的要求

Excel公式技巧83:使用VLOOKUP进行二分查找

excelperfect


VLOOKUP函数是我们非常熟悉也很常用的一个函数。下面是其语法:

VLOOKUP(lookup_value,table_array, col_index_num,[range_lookup])

 

其中,range_lookup是第4个也是其最后一个参数。可以看到,其在中括号中表明该参数是可选的,在使用VLOOKUP函数时可以不包含该参数。

 

参数range_lookup接受逻辑值,指定是精确查找还是近似查找。TRUE指示进行近似查找,而FALSE指示进行精确查找;也可以使用10,与TRUEFALSE等价。默认为TRUE

 

当将参数range_lookup指定为FALSE进行精确查找时,执行的是线性搜索,从table_array的首列中的第一行开始往下,逐个单元格比对直到匹配lookup_value。而VLOOKUP函数执行近似查找时,采用不同的方式:如果参数range_lookup指定为TRUE或者忽略,那么table_array的首列中的值必须是升序排列,否则可能会返回不正确的结果。

 

也就是说,当VLOOKUP执行近似查找时,取决于查找列按升序排列。这意味着,它不是从顶部到底部进行搜索,而是通过在数据中上下跳跃来进行查找(二分查找)。此时,VLOOKUP函数在可能的条件下返回匹配值,否则返回小于lookup_value的最大值。

 

注意到,近似查找的算法比精确查找的算法更快,因此应尽可能使用它。

 

示例1:查找列按升序排列且执行近似查找

下面是一个经典的示例,由学生成绩查找对应的等级。如图1所示,查找表在单元格区域F1:G6,根据列C中的成绩查找相应的等级。

1

 

单元格D2中的公式为:

=VLOOKUP(C2,$F$2:$G$6,2,TRUE)

向下复制至单元格D5

 

示例2:查找列按升序排列且执行精确查找

如下图2所示,列表中有一系列日期相对应的人名,现在想要选择日期后获取该日期对应的人名。

Excel公式技巧83:使用VLOOKUP进行二分查找

2

 

由于查找列已经按升序排列,因此可以使用近似匹配算法来查找指定日期的人名:

=VLOOKUP($E$2,$A$2:$B$11,2,TRUE)

结果如下图3所示。

Excel公式技巧83:使用VLOOKUP进行二分查找

3

 

示例3:查找列无序

VLOOKUP函数的一种巧妙的使用,与查找列的排序顺序无关。

 

听起来有些奇怪,但在某些情况下排序顺序实际上并不重要。一个很好的示例是,当需要一个返回列中最后一个数字的公式时。如下图4所示,这是一列杂乱无章的数据,其中包含数字、错误、文本和空白单元格。

Excel公式技巧83:使用VLOOKUP进行二分查找

4

 

示例中列C最后一个数字是123,下面的公式会找到该数:

=VLOOKUP(BIGNUM,C:C,1,TRUE)

如下图5所示。

5

 

公式中,BIGNUM是关键,它必须比该列中可能出现的数都要大。我们知道,Excel允许的最大正数是1.7976931348623158e+308,因此,我们可以定义名称BIGNUM为:

=9.99999999999999E+307*1.79769313486231

 

OK

 

注:本文的成果整理自colinlegg.wordpress.com,供有兴趣的朋友学习参考。