问一下,比vlookup好用的匹配和index函数为什么都无法识别?

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

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

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

在单行区域或单列区域(称为“向量”)中查找值,然后返回第二个单行区域或单列区域中相同位置的值。

当要查询的值列表较大或者值可能会随时间而改变时,使用该向量形式。

在数组的第一行或第一列中查找指定的值,然后返回数组的最后一行或最后一列中相同位置的值

当要查询的值列表较小或者值在一段时间内保持不变时,使用该数组形式。

LOOKUP 不能返回正确的结果。文本不区分大小写。

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

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

Range_lookup为一逻辑值,指明函数 VLOOKUP 查找时是精确匹配,还是近似匹配。如果为False0 ,则返回精确匹配,如果找不到,则返回错误值 将查找近似匹配值,也就是说,如果找不到精确匹配值,则返回小于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-5C列和H列是添加的辅助列。有人可能会说,把“品种”和“产地”组合在一起输入是不是很麻烦呢?其实,此处同样不是手工输入的,还是使用公式!我们只要在单元格C2输入公式“=A2&B2”然后向下批量填充即可,H列也是同样办法。是不是还是很快呢?

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

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

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

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

步骤二:按“Shift+Ctrl+Enter(回车键)”得到数组公式:

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

有关本函数公式的解释:

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函数纵向多列查找。

数值、引用或文本字符串

返回数据在区域的第几行数

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

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

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

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

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

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

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

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

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

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

说起Excel中的数据查询,VLOOKUP可真是大名鼎鼎。这年头,做表格的人要是没听说VLOOKUP,喝酸奶都不好意思舔瓶盖。

VLOOKUP函数果真所向披靡吗?今天就和大家一起说说Excel中的数据查询那些事儿。

先说说VLOOKUP,作用嘛,就是能够实现从左到右的数据查询。

VLOOKUP(要找谁,在哪个区域找,返回第几列的内容,精确匹配还是近似匹配)

先从查询区域最左侧列中找到查询值,然后返回同一行中对应的其他列的内容。

例如下图中,要根据E3单元格中的领导,在B~C列的对照表中查找与之对应的秘书姓名。

公式中,“E3”是要查找的内容。

“B2:C8”是查找的区域,在这个区域中,最左侧列要包含待查询的内容。

“2”是要返回查找区域中第2列的内容,注意这里不是指工作表中的第2列。

“0”是使用精确匹配的方式来查找。

假如表格的结构比较特殊,VLOOKUP函数就傻眼了。

像下图中,要根据A7单元格中的领导,在2~3行的对照表中查找与之对应的秘书姓名。

HLOOKUP函数是VLOOKUP异父异母的亲弟弟,作用嘛,就是能够实现从上到下的数据查询。

HLOOKUP(要找谁,在哪个区域找,返回第几行的内容,精确匹配还是近似匹配)

先从查询区域第一行中找到查询值,然后返回同一列中对应的其他行的内容。

公式中,“A7”是要查找的内容。

“2:3”是查找的区域,不要被数字迷惑了,这种写法就是第二到第三行的整行引用而已。

在这个区域中,第一行要包含待查询的内容。

“2”是要返回查找区域中第2行的内容,注意这里不是指工作表中的第2行。

“0”是使用精确匹配的方式来查找。

假如表格的结构再特殊点,VLOOKUP和HLOOKUP函数就都傻眼了。

像下图中,要根据E3单元格中的秘书,在B~C列的对照表中查找与之对应的领导姓名。

LOOKUP函数是VLOOKUP异父异母的亲妹妹,本例中的作用嘛,是在指定的行或列中查询指定的内容,并返回另一个范围中对应位置的值。

LOOKUP(要找谁,在哪行或哪列找,要返回结果的行或列)

公式中,“1”是要查找的内容。

“0/(C3:C8=E3)”是查找的区域,不要被这段公式迷惑了,这种写法是模式化的,就是0/(条件区域=查找值)。

先使用等号,将条件区域的内容与查找值进行逐一对比,返回逻辑值TRUE或是FALSE。

再使用0除以逻辑值,在四则运算中,逻辑值TRUE相当于1,FALSE相当于0。相除之后变成了一组错误值和0。

也就是条件区域中的某个单元格如果等于查找值,对应的计算结果就是0,其他都是错误值。

LOOKUP在这组内容中查找1的位置,找不到1就用0顶包,0的位置是2,所以最终返回第三参数B3:B8中第2个单元格的内容了。

LOOKUP函数的查找区域和返回结果区域,都是一行或一列的写法,所以可以实现任意方向的查询。

仍以刚刚的数据为例,要根据E3单元格中的秘书,在B~C列的对照表中查找与之对应的领导姓名。

MATCH函数的作用,是查找数据在一行或一列中所处的位置。

MATCH(要找谁,在哪行或哪列找,精确匹配还是近似匹配)

公式中的MATCH(E3,C2:C8,0)部分,就是精确查找E3单元格中的小袁秘书在C2:C8中所处的位置,结果是3。

INDEX函数的作用,是根据指定的位置信息,返回数据区域中对应位置的内容。

本例中,先用MATCH函数计算出小袁秘书的位置3,再用INDEX函数返回B2:B8区域中第3个单元格的内容。

INDEX+MATCH函数二者组合,也能实现任意方向的数据查询。

VLOOKUP家族最近又新增了一个新函数XLOOKUP,目前这个函数还在内测阶段,但是查找功能更加强大。

借助 XLOOKUP,可以在一列中查找搜索词,并根据搜索词的位置,返回另一列中相同位置的结果,可以实现从左到右、从右到左等不同方向的数据查询。

如下图,要根据F2单元格的地区名称,查找电话区号前缀。

其中F2是查找内容,B2:B11是要查找内容的区域,D2:D11是要返回内容的区域,XLOOKUP函数默认使用精确匹配方式。

XLOOKUP还自带光环,对于查找不到指定内容时,可以指定要返回的内容,而不是返回错误值。

如下图,根据B2单元格的ID查询对应的雇员姓名,如果找不到,就返回指定的内容“ID not found”。

几种方法,各有特点,只有平时多学多练,遇到问题才能对症下药。每天学习一点点,小白也能变大神。

和范围,都能实现相同的查找,但也有各自的优势。在此做一详细比较。

基本查找,也叫正向查找,即根据前列查找后列的内容,

找中,都能很方便的实现查找;而用

函数,更省劲方便一些。

函数无法实现反向查找,但与

我要回帖

更多关于 直播:阿根廷vs墨西哥可有进球 的文章

 

随机推荐