资源描述:
《解析lookup的经典查找方式》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、..解析lookup的经典查找方式包括两部分内容:第一,lookup函数用法介绍;第二,通过实例讲解lookup函数经典的条件查找解法,通用公式基本可以写为:LOOKUP(2,1/(条件),查找数组或区域)或LOOKUP(1,0/(条件),查找数组或区域)。- 主讲老师:卢子老师 讲座主题:解析lookup函数的经典查找方式 学习是需要技巧和经验的。感谢卢子老师为大家分享和交流他的实战经验。下面是本期讲座的全部内容。 本期讲座包括两部分内容:第一,lookup函数用法介绍;第二,通过实例讲解lookup函数经典的条件查找解法,通用
2、公式基本可以写为:LOOKUP(2,1/(条件),查找数组或区域)或LOOKUP(1,0/(条件),查找数组或区域)。 第一部分:lookup函数用法介绍 lookup函数和vlookup函数是excel中最常用的两个查找函数。vlookup函数能做到的lookup函数同样可以做到,而且可以做得更好。 LOOKUP函数有两种语法形式:向量和数组。本期就向量形式的展开交流和探讨。 向量形式的语法为:LOOKUP(lookup_value,lookup_vector,result_vector) 其中的参数意义如下: Lookup
3、_value:为所要查找的数值。Lookup_value可以为数字、文本、逻辑值或包含数值的名称或引用。 Lookup_vector:为只包含一行或一列的区域。Lookup_vector的数值可以为文本、数字或逻辑值。Lookup_vector的数值必须按升序排序:...、-2、-1、0、1、2、...、A-Z、FALSE、TRUE,否则,LOOKUP不能返回正确的结果。文本不区分大小写。 Result_vector:只包含一行或一列的区域,其大小必须与lookup_vector相同。Word格式.. 比如lookup(A1,B1:
4、B10,C2:C11),其中C2:C11的尺寸要与B1:B10相同,且如果A1对应B列中的位置是B2的话,那么返回的将是C3的值。 LOOKUP函数说明: 第一,如果函数LOOKUP找不到lookup_value,则查找lookup_vector中小于或等于lookup_value的最大数值。这就是为何返回最后一个满足条件的值的原理。 第二,如果lookup_value小于lookup_vector中的最小值,函数LOOKUP返回错误值#N/A。 利用这个特性,我们可以用=LOOKUP(1,0/(条件),引用区域)这样一个通用公式
5、来作查找引用。 第二部分:lookup函数实例运用 运用一:模糊查找 模糊查找的核心是第二个参数排序必须是升序,否则会导致查找值错误。下图所示的表1是按升序排序的,表2没有排序。Word格式.. 分别在表1和表2下面对应的单元格输入公式。 表1的数据源是按升序排序的,根据lookup函数用法:=LOOKUP(要查找的数据,查找范围,结果),在C24单元格设置公式:=LOOKUP(B24,$B$5:$B$17,$C$5:$C$17),然后下拉得到正确结果。 表2的数据源是没有排序的,在J24单元格输入公式:=LOOKUP(I24
6、,$I$5:$I$17,$J$5:$J$17),然后下拉,发现J25单元格得到的结果是H126,显然不对。通过表2的源数据可以看到I25单元格对应的值应该为J8单元格的值H142。 为什么会出错呢?这就印证了第一部分的用法介绍中所讲到的:Lookup_vector的数值必须按升序排序:...、-2、-1、0、1、2、...、A-Z、FALSE、TRUE,否则,LOOKUP不能返回正确的结果。文本不区分大小写。 模糊查找,数据源一定要以升序先进行排序,否则就会出错。在数据源没有排序的情况下,如何才能查找到正确结果?LOOKUP函数有一个
7、经典的条件查找解法,可以很好的解决此问题。 在第一部分有提到,通用公式基本可以写为:LOOKUP(2,1/(条件),查找数组或区域)或LOOKUP(1,0/(条件),查找数组或区域)。 公式中的2、1、0等数字的含义是什么?首先,条件是一组逻辑判断的值或逻辑运算得到的由TRUE和FALSE组成或者0与非0组成的数组,因而:0/(条件)的作用是用于构建一个由0或者#DIV!0错误组成的值。比如数据源中能查找到对应值就是ture,没有就是false。形式如:0/True=0,0/false=#DIV0!,查找到就0,没有就是错误值。 如
8、果LOOKUP函数找不到lookup_value(即:1),则它与lookup_vector中小于或等于lookup_value的最大值(即:0)匹配。 也就是说,要在一个由0和#DIV!0