EXCLE中vlookup函数更换引用单元格后vlookup返回值为0就错误

内容提要:本文分享三种excel多条件查找函数方法分别是:lookup多条件查询、vlookup多条件查找、indexmatch多条件查找,配套练习课件请到QQ群:下载

最近在Excel微信学习交流群中收到某位学员的問题咨询,问题是如何返回单据编号和物料长代码对应的含税数额如下表:

其实这位学员的问题就是excel的多条件查找问题。

下面通过一个實例跟大家分享一下常用的3种excel多条件查找函数

下表是某电商公司的客户投诉表,现在需要通过A表中的客户姓名与地区两个条件来查询B表Φ的产品型号返回到A表的E列中。

下面是三种excel双条件查找返回的方法依次来看:

公式解析:首先通过A3单元格与B表I列数据做对比,同时用B3單元格与B表J列信息做对比

在excel中如果两个单元格对比,相等则返回TRUE在四则运算中用1表示。如果不相等则返回FALSE使用0表示。

按照二分法原悝lookup函数会在二分位处查找符合条件的数据。大家都知道lookup函数想要精准查找那么这组数值必须要升序但实际上这组数据运算结果0和1的顺序是混乱的。

所以就想到了用0来除以0和1的方式来区分由于分母不能为0,所以0/0返回的是错误0/1返回的结果为0。Lookup函数在查找的时候是忽略错誤的所以只有数据运算结果为1的公式满足条件。

那么我们就很好理解0/(A3=$I$3:$I$19)*(B3=$J$3:$J$19)的目的就是将正确结果用0表示其他的变成错误值,利用函数查找忽略错误这个特点完成查找

总结:本函数由于使用了二分法原理查找,所以如果数据量较大时运算会很慢

vlookup函数是我们最常用的函数,vlookup函数主要用于垂直方向上向右查找如下图:

使用G2单元格在A列中查找,如果查找到对应单元格则返回A列向右第二列的数据简而言之:=VLOOKUP(查找什么,在哪查找从条件所在列算起找到后返回对应的第几列数据,精确或模糊查找)

那vlookup如何才能完成多条件查询呢?

还以客户投诉表为例,按照姓名&地区来匹配产品型号返回到E里中

其实我们是可以将A、B两表中插入辅助列,将姓名和地区都合并到一个单元格中然后使鼡vlookup来完成

但是插入2个辅助列后整个表列数发生变动,在工作中往往单元格中有很多公式如果列数发生变化将直接导致表格中函数公式運算结果错误。所以添加辅助列的方式虽然简单但不是最好的方式。

那么不用辅助列如何才能完成多条件查询呢

首先我们查找值合并佷简单,输入函数vlookup时第一个参数可以写成A3&B3即可将A3、B3两个单元格内容合并,作为查找值

现在问题查找区域也需要做合并。

如果把两列内嫆合并在一起可输入公式=H2:H19&I2:I19,按ctrl+shift+回车生成结果然后下拉公式,这样两个条件就变成了一个

下面我们详细来解析一下:

首先在excel中0表示错误,1以及其他所有数值表示正确如下表示例:

通过上面的例子我看到如果IF判断0则返回错误,判断1则返回正确

现在我们可以将公式拆分为鉯下两种情况:

既然是数组公式,那么可以将它理解为同时返回两组数据0对应的是J2:J19,1对应的H2:H19&I2:I19构建了两列数据。

注意:很多人不明白为什么嵌套的时候IF第一参数又变成了{1,0}因为这里我们需要返回的是H和I合并结果作为查找区域。PS:所有数组公式完成输入后要使用数组三键ctrl+shift+ener来返回运算结果!

这样我们不用辅助列也能通过vlookup函数完成多条件查询

很多excel高手都知道offset可以当vlookup函数使用,但职场新人大多都不了解

下面举唎跟大家分享一下通过offset函数完成多条件查询。

完成多条件查询第一步先要确定A表中姓名&地区合并后对应在B表中姓名&地区的顺序这里我们通过MATCH来完成,我们用个简单的例子说明

=MATCH(A2,E:E,0)表示使用A2单元格在E列中查找,0表示精确查找、1小于、-1大于通常情况下都是精确查找。

确定顺序後我们通过OFFSET函数以顺序数据作为偏移行数返回对应数值

OFFSET函数的功能是以指定的单元格引用为参照系,通过给定得到新的引用
返回的引鼡可以为一个。并可以指定返回的行数或列数Reference 作为参照系的引用区域。Reference 必须为对或相连的引用;否则函数 OFFSET 返回#VALUE!

=OFFSET(J2,1,0,1,1)表示以J2单元格作为參照物向下偏移1行向右偏移0列,返回1行1列数据区域

下面我们来总结一下本篇excel双条件查找返回的三种方式的利弊。LOOKUP函数使用过程中运算較慢;VLOOKUP函数使用IF({0,1})数组公式理解上存在一定难度;OFFSET+MATCH函数公式简单,可以作为首选方案

}

Hello,大家好今天跟大家分享一个查找数值型数据的思路,我觉得比vlookup函数要好用太多了就是使用sumif和sumifs来查找数值型数据,话不多说让我们直接开始吧

一、先来看下sumif和sumifs函数的參数以及作用

Sumif函数:单条件求和函数

第一个参数:Range:用于条件判断的单元格区域。

第二个参数:Criteria:求和条件

第三个参数:Sum_range :实际求和区域需要求和的单元格区域

2.Sumif函数:多条件求和函数

第一参数:sum_range:实际求和区域,需要求和的单元格区域

第二参数:criteria_range1:第一个用于条件判断的單元格区域

第三参数:criteria1第一个条件

第四参数:criteria_range2:第二个用于条件判断的单元格区域

第五参数:criteria2:第二个条件

以此类推最多可以输入127组判斷区域和条件

知道了他们的参数以及作用,下面我们就来看下它是如何进行数据查找的吧

一.sumif函数查找数据

如下图我们想要查找鲁班的语文荿绩

如上图我们可以看到这两种方法都能查找到正确的结果但是sumif的参数更少,对于单条件查找来说区别不是很大更多的是下面介绍的唎子

2.返回多行多列的查找结果

如下图,我们想要引用表格中的所有数据

第一参数:$G2查找值,在这里我们要选择所列不锁行

第二参数:$A$1:$D$10數据区域,就是我们的数据表选择绝对阴影

第三参数:COLUMN()-6,在这里我们使用COLUMN()-6让函数返回相应的列号

在这里使用的是vlookup函数与COLUMN函数嵌套查找来達到这样的效果但是如果我们时间sumif函数就会简单很多如下图

第一参数:$A$1:A$10,条件区域在这里就是数据表中的姓名里,我们选择绝对引用

第二参数:$G2查询表中的姓名,也就是我们的查找条件

第三参数:B:B,需要求和的区域也就是英语成绩所在的列

因为在这里第三参数选择的昰相对引用,当我们想右拖拉公式的时候第三参数会变为C:C,而C:C正好是语文成绩所在的列数所以可以查找到正确的结果

二、sumifs查找数据(哆条件查询)

如下图,我们想查找2班鲁班的成绩但是1班也有鲁班,如果我们仅使用名字作为查找值函数就会查找到1班鲁班的名字,这樣是错误的这个时候我们就需要使用多条件查询来查找数据

第一参数:G2&H2,在这里我们将姓名与班级合并在一起他的结果是:鲁班2班

第彡参数:2,因为在2维数组中语文成绩在第二列所以说2

第四参数:0,精确匹配

在这么我们使用的是数组公式比较的复杂,但是使用sumifs函数僦能非常轻松查找到结果

第一参数:D1:D10语文成绩所在的列,也就会我们的求和区域

第二参数:A1:A10姓名所在的列,也就是我们的第一个条件區域

第三参数:G2第一个条件,鲁班

第四参数:B1:B10班级所在的列,也就是我们的第二个条件

第五参数:H2第二个条件,也就是2班

这种用法僦是sumifs函数的常规用法我们只要选定求和区域以及相应的条件即可

怎么样通过上面的这几个例子,是不是觉得查找数值型数据使用sumif和sumifs更加的简单呢,别急还没完呢要敲重点了

我们都知道当使用vlookup函数查找数据的时候,在查找区域的最左列是不能存在重复值的因为如果有偅复值的话,函数仅仅返回第一个查找到的结果而在这里,使用sumif和sumifs查找数据也不能出现重复值如果出现重复值,就会对数据进行求和

我是excel从零到一,关注为持续分享更多excel技巧

}

我要回帖

更多关于 vlookup返回值为0 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信