VLOOKUP的基本用法(附实例)

贡献者:bntrees   日期:2008-09-14  阅读:40532  
相关标签:et2007 函数 VLOOKUP
LOOKUP和VLOOKUP是在ET中经常用到的两个函数,其基本功能就是在数组中,根据给出的某一列中的值,返回该数组中另一列中对应的值。

  下面我们就以一下论坛网友提供的例子来分别介绍一下它们的基本用法和异同点。

  一、LOOKUP函数的基本用法

  LOOKUP函数的使用格式为:=LOOKUP(查找值,查找向量,返回向量)

  其中“查找向量”和“返回向量”均为一维数组。

  如下面的函数:

  =LOOKUP(3,{1,2,3,4,5,6,7,8,9,10,11,12},{"子鼠","丑牛","寅虎","卯兔","辰龙","巳蛇","午马","未羊","申猴","酉鸡","戌狗","亥猪"})

  “查找值”是3,则在“查找向量”中找到3,并在“返回向量”中找到与3在“查找向量”中相对应的值,即“寅虎”,并将“寅虎”返回。

  下面我们看一个实例,如图1所示,Sheet1为某基层卫生院的住院登记表。

图1

  在Sheet2中有一个农合证号与村名相对应的列表(图2)

图2


  现在需要在“家庭住址”一列(F3:F25)中输入公式,利用LOOKUP函数根据“农合证号”得出其家庭住址所在村名。公式如下:

  LOOKUP(D3,Sheet2!$A$2:$A$13,Sheet2!$B$2:$B$13)

  即在Sheet2的A2:A13区域(农合证号)中查找D3单元格中的农合证号,并返回B2:B13区域中对应的村名。把此公式填充至整个F列,则实现所有“住址”自动填充。

  二、VLOOKUP函数的基本用法

  以上功能,用VLOOKUP也能轻松实现。所不同的是,VLOOKUP的查找范围是多维数组,其使用格式为:

  VLOOKUP(查找值,数据表,列序数,[匹配条件])

  其中的“查找值”与LOOKUP中的“查找值”一样,而“数据表”则是一个多维数组,可以存放多行多列的复杂数据,而“列序数”则是要返回的数据所在列的序数,“匹配条件”为“TRUE”时,为模糊询,而“匹配条件”为“FALSE”时,则为精确查询,默认为“TRUE”,即模糊查询。

  下面我们还以上面的表格为例,用VLOOKUP改写公式如下:

  VLOOKUP(D3,Sheet2!$A$2:$B$13,2,1)

  此公式的含义为:

  在Sheet2的A2:B13区域查找D3单元格中的数据,并将此区域第2列(即“村名”)相对应的数据返回。“匹配条件”为1,即TRUE,使用模糊匹配方式,如果“匹配条件”为“0”(即FALSE),则采取精确匹配方式,那样的话,非列表中的数据都将返回出错信息“#N/A”。

  三、完善公式

  以上两种方法,都能实现所需要的功能。但还有一点不够完美,就是当前来就诊的病人没有“农合证号”时,“住址”一列会显示出错信息“#N/A”,我们可以用一个IF函数来使这些人的住址不现显示出错信息。

  =IF(D3="","",VLOOKUP(D3,Sheet2!$A$2:$B$13,2,1))
  

  =IF(D3="","非农合用户",VLOOKUP(D3,Sheet2!$A$2:$B$13,2,1))

  效果如图3所示。

图3

住院登记.et
对本篇文章的质量评星:
当前平均星级:4星--推荐 (95次评星)