大家好。最近有粉丝问:有没有什么简单的方法可以快速解决多条件查询而不增加辅助列?他认为使用辅助柱比较低。今天给大家分享一个我认为非常适合初学者的方法,那就是使用查找函数。即使不理解公式的含义,也只需要记住固定的格式,直接套用即可。让我们现在学习它。
00-1010大部分人都非常熟悉的vlookup函数是通过查找函数来改进的,所以查找函数也是查找函数。
Lookup函数:从单行或单列中查找数据
语法:=LOOKUP(lookup_value, lookup_vector, result_vector)
第一个参数:要查找的值。
第二个参数:搜索到的数据区域,一行或一列。
第三个参数:返回的结果列。需要注意的是,第三个参数的数据编号必须等于第二个参数的数据格式。
在使用lookup之前,我们还需要对第二参数查找的数据区域进行升序排序,否则的话可能会返回错误的结果。还有一点需要注意的是lookup的查找原理与vlookup的近似匹配是一模一样的,如果找不到精确的结果,lookup就会返回小于或等于查找值的最大值.让我们举一个实际的例子来理解查找函数。
00-1010比如这里,我们要问一下张飞的考核分数。如果我们不按升序对数据区域进行排序,我们直接使用查找函数来查找结果。公式是:=LOOKUP(L4,B2:B9,C2:C9),他的结果是208。这个成绩不是张飞的考核分数。只有把搜索区域按升序排序,才能找到张飞的195分。因此,当我们使用查找函数时,我们需要先按升序对搜索数据区域进行排序。此外,第三个和第二个参数中的数据数量必须相等,否则函数将返回一个错误值。
一、认识lookup函数
1.为什么要使用多条件查询
在Excel中如果我们的查找值在查找区域中存在重复,那么函数仅仅会返回第一个找到的结果,这样的话就可能得到一个错误的结果
如下图,李白有重复值。在这里我们要找到三班李白的总分。如果只用李白作为搜索值,我们就用vlookup函数来查找数据。他的成绩是186,是1班李白的对应分数,不是3班李白的对应分数。在这种情况下,结果是错误的。产生这个结果的原因是186是李白对应的第一个数据。
2.lookup多条件查询
既然一个条件我们不能查找到精确的结果,那么我们就要增加条件来获得精确的结果,这个就是多条件查询存在的意义
在这里我们只需要将公式设置为:=LOOKUP(1,0/((B2:B9=J4)*(C2:C9=K4)),D2:D9)然后点击回车即可查找到正确的结果。这个函数是一个数组公式,理解起来可能比较困难,下面我们来剖析下这个函数的结构
公式:=LOOKUP(1,0/((B2:B9=J4)*(C2:C9=K4)),D2:D9)
第一参数:查找值,1
第二参数:查找的数据区域,0/((B2:B9=J4)*(C2:C9=K4))
第三参数:返回的结果列,D2:D9
主要跟大家讲讲解下他的第二参数,0/((B2:B9=J4)*(C2:C9=K4))这是一个数组公式,B2:B9=J4与C2:C9=K4会与数据区域的中的每一个元素都发生计算,如下图所示
B2:B9=J4他的意思是:班级等于3班的,它的结果如下图橙色区域所示,是一列逻辑值。C2:C9=K4的结果如下图绿色区域所示,它的意思是姓名等于李白。随后将这两列结果相乘,可以将fales看作是0,true看作是1,相乘之后会得到一列0和1的数字,只有两个条件都满足它的结果才是1,最后我们再用0除以相乘结果,分母为0的话就会返回错误值,lookup会自动的将错误值忽略掉,这样的话就仅仅只剩0这个结果了,这样的话也就不用进行升序排序了。这个就是第二参数的计算过程
如果你觉得这个函数比较难懂,只需要记得这个公式的设置格式即可。格式为:=lookup(1,0/((条件1)*(条件2)*(条件3)),结果列)有几个条件就设置几个条件即可
以上就是今天分享的全部内容,怎么样?你学会了吗?
我是Excel从零到一,关注我,持续分享更多Excel技巧
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/47674.html