如何实现,用VLOOKUP查找返回的值包含某些字符时,显示为“√”?

LOOKUP的中文含义就是查找。LOOKUP函数可以在单行或者单列中查找,而VLOOKUP函数则是多列查找,HLOOKUP函数是多行查找。

(一)LOOKUP函数——单行或单列中查找

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

图:6-4-1如果需要语法形式用法

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

在数组的第一行或第一列中查找指定的值,然后返回数组的最后一行或最后一列中相同位置的值数组形式当要查询的值列表较小或者值在一段时间内保持不变时,使用该数组形式。

(1)向量形式:公式为 = LOOKUP(查找值,查找范围,查找结果范围)

式中“查找值lookup_value”—函数LOOKUP在第一个向量中所要查找的数值,它可以为数字、文本、逻辑值或包含数值的名称或引用;

查找范围lookup_vector—只包含一行或一列的区域lookup_vector 的数值可以为文本、数字或逻辑值;

查找结果范围result_vector—只包含一行或一列的区域其大小必须与查找范围lookup_vector 相同。

(2)数组形式:公式为

式中array—包含文本、数字或逻辑值的单元格区域或数组它的值用于与 lookup_value 进行比较。

注意:array的数值必须按升序排列,否则函数LOOKUP不能返回正确的结果。文本不区分大小写。如果函数LOOKUP找不到lookup_value,则查找array中小于或等于lookup_value的最大数值。如果lookup_value小于array中的最小值,函数LOOKUP返回错误值#N/A。

举例还是来一个财务人员常会用到的工薪所得个人所得税问题吧。大家都知道该项税率是超额累进税率,当应税所得上一个台阶税率就会发生变化,下面看看如何使用LOOKUP函数为不同的应税所得找到对应的税率和速算扣除数。如图:6-4-2

上图中我们要找到对应的税率,我们可以单元格G5输入函数公式:

此处使用绝对引用,是为了方便批量填充。对于适用的速算扣除数,也可以采用同样的方式查找速算扣除数,在H5输入函数公式:

然后,同时选中单元格G5和H5向下批量复制填充,结果就如图6-4-2。

(二)VLOOKUP函数——纵向多列查找

VLOOKUP函数是Excel中的一个纵向查找函数,它与LOOKUP函数和HLOOKUP函数属于一类函数,在工作中都有广泛应用。VLOOKUP是按列查找,最终返回该列所需查询列序所对应的值;与之对应的HLOOKUP是按行查找的。

lookup_value要查找的值数值、引用或文本字符串

col_index_num返回数据在查找区域的第几列数正整数

Lookup_value为要在表格或区域的第一列中搜索的值。Lookup_value可以为数值、引用或文本字符串。当vlookup函数第一参数省略查找值时,表示用0查找。

Table_array为需要在其中查找数据的数据表。使用对区域或区域名称的引用。

Range_lookup为一逻辑值,指明函数 VLOOKUP 查找时是精确匹配,还是近似匹配。如果为False或0 ,则返回精确匹配,如果找不到,则返回错误值 #N/A。如果 range_lookup为TRUE或1,函数 VLOOKUP 将查找近似匹配值,也就是说,如果找不到精确匹配值,则返回小于lookup_value 的最大数值。如果range_lookup省略,则默认为近似匹配。

还是个人所得税的问题,看看下图6-4-3与图6-4-2有什么区别?提示重点看单元格G5在编辑栏的函数公式。

其实,本图使用的VLOOKUP函数,因此单元格G5的函数公式是:

与使用LOOKUP函数相比,二者函数公式不同,结果一致。需要注意并掌握二者函数公式中的参数异同。

(2)高级应用举例——多条件查找与反向条件查找

您没有看错,VLOOKUP确实可以实现多条件查找与应用。请看问题:6-4-4

问题:需要从图6-4-4左边C列找到对应的数字填充到G列。

分析:现在的问题既要查找“品种”,又要查找“产地”,属于多条件查找。

方法一:多条件变单条件

利用我们前面讲述过的添加辅助列的办法,可以把多条件变成单条件,我们是不是就可以使用VLOOKUP函数解决问题了呢。因此我们只要“销量”C列和“销量”G列前各添加一列辅助列,是不是问题就变轻松了呢?如下图:6-4-5

图6-4-5中C列和H列是添加的辅助列。有人可能会说,把“品种”和“产地”组合在一起输入是不是很麻烦呢?其实,此处同样不是手工输入的,还是使用公式!我们只要在单元格C2输入公式“=A2&B2”然后向下批量填充即可,H列也是同样办法。是不是还是很快呢?

接下来的问题是不是就变得简单了,多条件变成了单条件。现在只需要在单元格I3中输入函数公式“=VLOOKUP(H3,$C$2:$D$9,2,0)”,然后向下批量填充,全部结果都出来了。

刚才这个案例是两个条件变成一个条件,现实中可能还有更多条件中,假如我们把该案例中的水果换成汽车,除品牌外,也有产地,可能还有二级品牌、不同配置等。如果是类似问题,我们同样可以把多个条件变成一个条件来解决。

问题还是图6-4-4的问题,但是使用者就是不愿意加辅助列或其他不方便加辅助列的表格,我们也可以利用数组公式来解决。如图:6-4-6

步骤一:在单元格G2中输入函数公式:

步骤三:向下批量复制填充。

有关本函数公式的解释:

IF({1,0},$A$2:$A$9&$B$2:$B$9,$C$2:$C$9)是本公式中最重要的组成部分。在Excel函数中使用数组公式时(前提时该函数的参数支持数组),返回的结果也会是一个数组。这里1和0不是实际意义上的数字,而是1相当于TRUE(“正确”或“真”),0相当于FALSE(“错误”或“假”)。当为1时,它会返回IF的第二个参数(B列),为0时返回第二个参数(C列)。根据数组运算返回数组,所以使用IF后的结果返回一个数组(非单元格区域):{"苹果","进口";"苹果","国产";……"香蕉","进口";"香蕉","国产"}。

VLOOKUP函数只能从左向右进行查找与引用,如果有一个奇葩的要求现在把左右位置互换了,我们还能使用该函数查询吗?问题还是图6-4-4的问题,只是把要查询的位置互换了,如图:6-4-7

这个还不简单,我们还是可以前面讲到数组公式,只是需要一点小小变动就换成了,看看单元格G2最终的数组公式:

看清楚了函数公式与前面的公式的差异了吗?问题不是把位置互换了吗?我在这个公式中把位置又换了回来。图6-4-6中函数查找值是“E3&F3”,而本处函数查找值是“F3&E3”,是不是正好换了前后位置。

有人说,你这个不算反向查找,查找时还是从左至右的,那我们再来一个单条件查找的。如图:6-4-8

问题:在单元格E2位置用函数公式填充“彭怀文”的部门。

还是一个数组公式轻松搞定:

(三)HLOOKUP函数——横向多行查找

HLOOKUP函数与VLOOKUP函数很相似,区别在于它是横向多行查找,而VLOOKUP函数纵向多列查找。

lookup_value要查找的值数值、引用或文本字符串

row_index_num返回数据在区域的第几行数正整数

(1)Lookup_value为需要在数据表第一行中进行查找的数值。Lookup_value 可以为数值、引用或文本字符串。

(2)Table_array为需要在其中查找数据的数据表。使用对区域或区域名称的引用。

(4)Range_lookup为一逻辑值,指明函数 HLOOKUP 查找时是精确匹配,还是近似匹配。如果为TURE或者1,则返回近似匹配值。也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值。如果 range_lookup 为 FALSE或0,函数 HLOOKUP 将查找精确匹配值,如果找不到,则返回错误值#N/A。如果range_lookup 省略,则默认为近似匹配。

表格或数值数组的首行查找指定的数值,并在表格或数组中指定行的同一列中返回一个数值。当比较值位于数据表的首行,并且要查找下面给定行中的数据时,请使用函数 HLOOKUP。当比较值位于要查找的数据左边的一列时,请使用函数 VLOOKUP。 HLOOKUP 中的 H 代表“行”。

财务人员参加了业务考试,成绩如下:6-4-9

问题:建立一个可以按科目进行查询的工具

使用HLOOKUP函数实现查询功能的操作步骤如下介绍:

第一步:在G1单元格制作下拉选项,制作方法为:单击菜单“数据——有效性——设置——允许——序列,在来源选择成绩表的科目名称。如图:6-4-10

第二,选中G2单元格,输入公式:

向下批量复制公式,可依次得到其他人员的成绩。

第三,当需要查询其他科目成绩时,只需要在G1单元格中选择相应科目即可。

我要回帖

更多关于 用vlookup函数怎么查找文本 的文章

 

随机推荐