首页> 职场办公> Excel当中LookUp与VLookUp函数详解

[文章]Excel当中LookUp与VLookUp函数详解

收藏
0 366 0

word-spacing: 0px; float: none; display: inline !important; white-space: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); -webkit-text-stroke-width: 0px; font-variant-ligatures: normal; font-variant-caps: normal; text-decoration-style: initial; text-decoration-color: initial;'>LOOKUP 函数可返回一行或一列区域中或者数组中的某个值。LOOKUP 函数具有两种语法形式:矢量和数组。矢量形式的 LOOKUP 在一行或一列区域(称为矢量)中查找值,然后返回另一行或一列区域中相同位置处的值。数组形式的 LOOKUP 在数组的第一行或列中查找指定值,然后返回该数组的最后一行或列中相同位置处的值

word-spacing: 0px; float: none; display: inline !important; white-space: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); -webkit-text-stroke-width: 0px; font-variant-ligatures: normal; font-variant-caps: normal; text-decoration-style: initial; text-decoration-color: initial;'>步骤/方法:

word-spacing: 0px; float: none; display: inline !important; white-space: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); -webkit-text-stroke-width: 0px; font-variant-ligatures: normal; font-variant-caps: normal; text-decoration-style: initial; text-decoration-color: initial;'>矢量形式的 LOOKUP
word-spacing: 0px; float: none; display: inline !important; white-space: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); -webkit-text-stroke-width: 0px; font-variant-ligatures: normal; font-variant-caps: normal; text-decoration-style: initial; text-decoration-color: initial;'>矢量形式的 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(4.19,A2:A6,B2:B6) 显示结果为orange (在A列中查找4.19.返回B列的同一行的值)
              如果 LOOKUP 找不到 lookup_value,它会匹配 lookup_vector 中小于或等于 lookup_value 的最大值。

            =LOOKUP(5.0,A2:A6,B2:B6) 显示结果为orange (在A列中查找5.0.返回B列的同一行的值)

             如果 lookup_value 小于 lookup_vector 中的最小值,则 LOOKUP 会返回 #N/A 错误值。
            =LOOKUP(4.0,A2:A6,B2:B6) 显示结果为#N/A (在A列中查找4.0.返回错误值)

数组形式的 LOOKUP
数组形式的 LOOKUP 在数组的第一行或列中查找指定值,然后返回该数组的最后一行或列中相同位置处的值。如果要匹配的值位于数组的第一行或列中,请使用这种形式的 LOOKUP。
数组形式的语法


LOOKUP(lookup_value,array)

=lookUp('c',A1:B6)返回值为3,在数组当中查找c,返回最后一列同一行的值(3)

             =lookUp('bmp',A1:B6)返回值为2,在数组当中查找c,返回最后一列同一行的值(2)

vlookup函数应用实例一:
  问题:如下图,已知表sheet1中的数据如下,如何在数据表二 sheet2 中如下引用:当学号随机出现的时候,如何在B列显示其对应的物理成绩?

           vlookup函数应用实例
 
  根据问题的需求,这个公式应该是:=vlookup(a2,sheet1!$a$2:$f$100,6,true)
详细说明一下在此vlookup函数例子中各个参数的使用说明:
  第一,vlookup是垂直方向的判断,如果是水平方向的判断可使用Hlookup函数
  第二,a2 是判断的条件,也就是说如果sheet2表中a列对应的数据和sheet1表中的数据相同方能引用;
  第三,sheet1!$a$2:$f$100 是数据跟踪的区域,因为需要引用的数据在f列,所以跟踪的区域至少在f列,$是绝对引用。
  第四,6 这是返回什么数的列数,如上图的物理是第6列,所以应该是6,如果要求英语的数值,那么此处应该是5。
  第五,是否绝对引用,如果是就输入 true 如果是近似即可满足条件,那么输入false (近似值主要用于带小数点的财务、运算等)。
  结果如下图:

          vlookup函数应用实例

  vlookup函数实例讲解二:说明函数=VLOOKUP(f1,A1:E100,2,FALSE)的意思。
  意思是:在A1:E100区域查找f1的值,找到后,返回从a开始算的第2列值(即b列),false为精确查找的必备参数。

  vlookup函数实例讲解三:

          vlookup函数应用实例
 
  上图,A2:B5为参照数组范围,E2为欲搜寻的值,传回数组表的欲对照的栏为第2栏(姓名),在F2输入=VLOOKUP(E2,A2:B5,2,FALSE)将会找到155003是王小华,然后显示出来。

  vlookup函数实例讲解四:
 
  A   B    C   D 
1 编号  姓名  工资  科室 
2 2005001 张三 2870 办公室 
3 2005002 李四 2750 人事科 
4 2005006 郑化 2680 供应科 
5 2005010 屠刚红 2980 销售科 
6 2005019 王五 2530 财务科 
7 2005036 孟小庭 2200 工 会

A列已排序(第四个参数缺省或用TRUE)
VLOOKUP(2005001,A1:D7,2,TRUE) 等于“张三” 
VLOOKUP(2005001,A1:D7,3,TRUE) 等于“2870” 
VLOOKUP(2005001,A1:D7,4,TRUE) 等于“办公室” 
VLOOKUP(2005019,A1:D7,2,TRUE) 等于“王五” 
VLOOKUP(2005036,A1:D7,3,TRUE) 等于“2200” 
VLOOKUP(2005036,A1:D7,4,TRUE) 等于“工 会” 
VLOOKUP(2005036,A1:D7,4) 等于“工 会”

若A列没有排序,要得出正确的结果,第四个参数必须用FALAE。

  解释:关于TRUE和FALSE的应用 
  先举个例子,假如让你在数万条记录的表格中查找给定编号的某个人,假如编号已按由小到大的顺序排序,你会很轻松地找到这个人;假如编号没有排序,你只好从上到下一条一条地查找,很费事。 用VLOOKUP查找数据也是这样,当第一列已排序,第四个参数用TRUE(或确省),Excel会很轻松地找到数据,效率较高。当第一列没有排序,第四个参数用FALSE,Excel会从上到下一条一条地查找,效率较低。 个人觉得,若要精确查找数据,由于计算机运算速度很快,可省略排序操作,直接用第四个参数用FALSE即可。

  
vlookup函数实例讲解五:
  本示例搜索员工表的 ID 列并查找其他列中的匹配值,计算并测试错误条件。 
A   B C   D   E 
ID 姓氏 名字 职务 出生日期 
1 李 小明 销售代表 12/8/1968 
2 林 彩瑜 销售部副总 2/19/1952 
3 王 志东 销售代表 8/30/1963 
4 潘 金 销售代表 9/19/1958 
5 林 丹 销售经理 3/4/1955 
6 苏 术平 销售代表 7/2/1963 
公式 说明(结果) 
  =IF(ISNA(VLOOKUP(5,A2:E7,2,FALSE)) = TRUE, "未找到员工", VLOOKUP(5,A2:E7,2,FALSE)) 如果有 ID 为 5 的员工,则显示该员工的姓氏;否则,显示消息“未找到员工”。(林)
  当 VLOOKUP 函数返回错误值 #NA 时,ISNA 函数返回值 TRUE。 
  =IF(ISNA(VLOOKUP(15,A3:E8,2,FALSE)) = TRUE, "未找到员工", VLOOKUP(15,A3:E8,2,FALSE)) 如果有 ID 为 15 的员工,则显示该员工的姓氏;否则,显示消息“未找到员工”。(未找到员工)
  当 VLOOKUP 函数返回错误值 #NA 时,ISNA 函数返回值 TRUE。 
  
=VLOOKUP(4,A2:E7,2,FALSE) & " " & VLOOKUP(4,A2:E7,3,FALSE) & "是" & VLOOKUP(4,A2:E7,4,FALSE) & "。" 对于 ID 为 4 的员工,将三个单元格的值连接为一个完整的句子。(潘金是销售代表。)


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 返回的值可能不正确。大写和小写文本是等效的。

职场办公
最近热帖
{{item.Title}} {{item.ViewCount}}
近期热议
{{item.Title}} {{item.PostCount}}