当前所在位置: 首页 > 儿童教育 > 正文

3个Excel公式都看不懂!”

2023-01-26 餐饮美食网 【 字体:

最近收到某位学员的问题咨询,问题是如何根据单据编号和物料长代码返回对应的含税数额。如下表:

其实这位学员的问题就是如何实现多条件查询。

下面通过一个实例跟大家分享一下常用的几种多条件查询方法。下表是某电商公司的客户投诉表,现在需要通过A表中的客户姓名与地区两个条件来查询B表中的产品型号,返回到A表的E列中。

1、LOOKUP函数

函数公式:=LOOKUP(1,0/(A3=$I$3:$I$19)*(B3=$J$3:$J$19),$K$3:$K$19)

公式解析:首先通过A3单元格与B表I列数据做对比,同时用B3单元格与B表J列信息做对比。在excel中如果两个单元格对比,相等则返回TRUE,在四则运算中用1表示。如果不相等则返回FALSE,使用0表示。那么(A3=$I$3:$I$19)*(B3=$J$3:$J$19)这部分运算的结果就只有0或者1两种情况,因为只有0*1、1*1、1*0这三种情况。用0来除以0和1,由于分母不能为0,所以0/0返回的是错误,0/1返回的结果为0。Lookup函数在查找的时候是忽略错误的,所以只有数据运算结果为1的公式满足条件。

那么我们就很好理解0/(A3=$I$3:$I$19)*(B3=$J$3:$J$19)的目的就是将正确结果用0表示,其他的变成错误值,利用函数查找忽略错误这个特点完成查找。总结:本函数由于使用了二分法原理查找,所以如果数据量较大时运算会很慢。

2、VLOOKUP函数

使用G2单元格在A列中查找,如果查找到对应单元格则返回A列向右第二列的数据。简而言之:=VLOOKUP(查找什么,在哪查找,从条件所在列算起找到后返回对应的第几列数据,精确或模糊查找)。那vlookup如何才能完成多条件查询呢?还以客户投诉表为例,按照姓名&地区来匹配产品型号返回到E里中。

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

但是插入2个辅助列后整个表列数发生变动,在工作中往往单元格中有很多公式,如果列数发生变化将直接导致表格中函数公式运算结果错误。所以添加辅助列的方式虽然简单,但不是最好的方式。那么不用辅助列如何才能完成多条件查询呢?首先我们查找值合并很简单,输入函数vlookup时第一个参数可以写成A3&B3,即可将A3、B3两个单元格内容合并,作为查找值。现在问题查找区域也需要做合并。如果把两列内容合并在一起,可输入公式=H2:H19&I2:I19,按ctrl+shift+回车生成结果,然后下拉公式,这样两个条件就变成了一个。

接下来通过IF函数提取对应的J列数据,可输入公式=IF({0,1},H2:H19&I2:I19,J2:J19),按ctrl+shift+回车生成结果,然后下拉公式,{0,1}表示逻辑值{FALSE,TRUE}。下面我们详细来解析一下:首先在excel中0表示错误,1以及其他所有数值表示正确。如下表示例:

通过上面的例子我看到如果IF判断0则返回错误,判断1则返回正确。现在我们可以将公式拆分为以下两种情况:IF(0, H2:H19&I2:I19,J2:J19),0表示FALSE,所以只能返回J列数据。IF(1, H2:H19&I2:I19,J2:J19),1表示TRUE,所以只能返回H列和I列合并结果。那么IF({0,1},H2:H19&I2:I19,J2:J19)怎么理解呢?既然是数组公式,那么可以将它理解为同时返回两组数据,0对应的是J2:J19,1对应的H2:H19&I2:I19,构建了两列数据。

最后我们使用vlookup函数完成嵌套,=VLOOKUP(A3&B3,IF({1,0},H3:H20&I3:I20,J3:J20),2,0),这里我们就可以理解为用A3&B3在H3:H20&I3:I20中查找对应J3:J20中的数据。因为公式中IF({1,0},H3:H20&I3:I20,J3:J20)返回的顺序是先返回H3:H20&I3:I20再返回J3:J20。

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

3、OFFSET+MATCH函数

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

函数公式:{=OFFSET($J$2,MATCH(A3&B3,$H$3:$H$19&$I$3:$I$19,0),)}公式解析:完成多条件查询第一步先要确定A表中姓名&地区合并后对应在B表中姓名&地区的顺序。这里我们通过MATCH来完成,我们用个简单的例子说明。

=MATCH(A2,E:E,0)表示使用A2单元格在E列中查找,0表示精确查找、1小于、-1大于,通常情况下都是精确查找。MATCH(A3&B3,$H$3:$H$19&$I$3:$I$19,0)表示将A3与B3合并作为查找内容,H列和I列合并作为查找区域,0表示精确查找。

确定顺序后我们通过OFFSET函数以顺序数据作为偏移行数返回对应数值。OFFSET函数的功能是以指定的单元格引用为参照系,通过给定偏移量得到新的引用。返回的引用可以为一个单元格或区域。并可以指定返回的行数或列数。Reference 作为偏移量参照系的引用区域。Reference 必须为对单元格或相连单元格区域的引用;否则,函数 OFFSET 返回错误值#VALUE!。

=OFFSET(J2,1,0,1,1)表示以J2单元格作为参照物向下偏移1行,向右偏移0列,返回1行1列数据区域。=OFFSET($J$2,MATCH(A3&B3,$H$3:$H$19&$I$3:$I$19,0),)表示以$J$2为参照单元格,通过MATCH查找出来顺序作为向下偏移的行数,偏移列数量省略表示不偏移,第三个、第四个参数省略表示只返回一个单元格区域。下面我们来总结一下三种方式的利弊。LOOKUP函数使用过程中运算较慢;VLOOKUP函数使用IF({0,1})数组公式,理解上存在一定难度;OFFSET+MATCH函数公式简单,可以作为首选方案。

阅读全文
相关推荐

如何自制蛋挞

如何自制蛋挞
1、倒入低筋面、黄油和水,揉成面团状,藏一小时后取出,抹上黄油卷起,包上保鲜膜冷藏半小时。2、取出,将面团切成一厘米的面团,放入模具内,用力按压,中间稍薄,外缘要比模具高,将蛋挞液倒入蛋挞皮中,放入烤箱里烤30分钟即可。

肉火烧面怎么和面

肉火烧面怎么和面
1、首先用温水把酵母融开,加入面粉,用手把面粉揉成非常软的面团,可以放一点熬好的猪油在面团里面。2、然后放在温暖的地方,盖上保鲜膜发酵至2倍大,发好的面团用手插入不回缩,就说明面团发酵好了。

奶茶几分糖好喝

奶茶几分糖好喝
1、不同的人对奶茶的口感要求是不一样的,一般来说,奶茶有三分糖、五分糖、七分糖三种不同的口味。2、女生一般都喜欢喝甜一点的,而男生则喜欢喝不那么甜的,七分糖的奶茶最好喝。

过桥米线是哪里的?

过桥米线是哪里的?
过桥米线是来自云南省滇南地区的一种有名特色小吃。过桥米线最早是在清朝就已经出现,距离现在至少有一百多年的历史啦!起源于建水县东城外锁龙桥西侧的鸡市街头处,有建水的特产草芽、地椒作配料,风味独特而远近闻名。深受广大美食爱好者的喜欢,不少人为此专门长途跋涉,只为尝

面霜和乳液的区别

面霜和乳液的区别
面霜和乳液的区别,相较而言乳液的水分含量要比面霜高,乳液质地要轻薄一些,乳液主要作用是保湿,滋润可以隔离外界干燥的气候,面霜既可保湿,又可美白,还能抗衰老,乳液的吸收快一些,而面霜吸收比较慢一些,因为液体的吸收速度都比较快。

怎么摘隐形眼镜

怎么摘隐形眼镜
在摘隐形眼镜之前,先用洗手液将手清洗干净,以免将细菌带入眼睛内,对着镜子,用右手中指轻拉眼睛下眼睑,左手中指轻拉眼睛上眼睑,让黑色眼球暴露在空气中,用右手食指和拇指轻触镜片的两边缘部分,向中间推使镜片拱起,再用两手指轻轻捏出镜片即可。

粉饼和散粉的区别

粉饼和散粉的区别
粉饼是呈压缩固体状态,多呈圆形或者方形,散粉则是细腻的粉末状,粉饼遮瑕力会比较强一些,可以湿用做粉底,或者用来补妆,而散粉则是定妆的效果,粉饼通常用在底妆的第一步,而散粉通常用在底妆最后一步。

冷烫和热烫的区别

冷烫和热烫的区别
冷烫和热烫的区别:冷烫对头发的要求是要在保温状态下才能给卷有个好的效果,而热烫是在干和湿的情况下都行,热烫烫出来的头发比较自然明显而有弹力,冷烫的头发风干后基本看不出来,并且发质会有点干。

高品质香水如何鉴别?用三步就可以解决

高品质香水如何鉴别?用三步就可以解决
1、看色泽以天然香料调制而成的高级香水,都有它本来的颜色,且大都是琥珀色或褐色,看起来很像宝石,比如,从茉莉、玫瑰或水仙等天然鲜花中所萃取的精油都呈黄色、褐白或绿褐色;此外,香水中所添加的魅惑香气物性香料也是褐色,苔类中的橡树苔是绿色,从树根或树根脂类中萃取的

如何去除黑眼圈

如何去除黑眼圈
去除黑眼圈首先可以用热毛巾敷眼,然后再用冷毛巾敷,十分钟就能让黑眼圈淡化的不那么严重,其次将去壳后的鸡蛋用无菌纱布包裹住,敷于眼部轻轻转动,可以急救去除黑眼圈,另外抹完眼霜后,用双手顺时针按摩,可以促进血液循环消除黑眼圈。
本文Tag