Lookup函数一共有两种形式一种是向量形式一种是数组形式,我主要介绍其向量形式 向量形式 Lookup函数:在单行区域或单列区域(向量)中查找数值,然后返回第二个单行区域或单列区域中相同位置的数值 参数 lookup_value:函数在第一个向量中所要查找的数值,它可以为数字、文本、逻辑值或包含数值的名称或引用; lookup_vector:只包含一行或一列的区域lookup_vector 的数值可以为文本、数字或逻辑值; result_vector:只包含一行或一列的区域其大小必须与 lookup_vector 相同 注意: 1.如果找不到查找值,lookup函数会返回小于或等于查找值的最大值。 2.如果查找值小于查找区域的最小值,lookup函数会返回 #N/A 错误。 3.第二参数中的值必须升序排序否则可能找不到查找值 还是来个实例演示下把一共三种情况 第一种:能找到查找值 图中我们要查找王明的成绩,对第二参数进行升序排序。 第一参数为王明所在单元格,第二参数为姓名列即王明名字所在列,第三参数为成绩列即要查找内容所在列,函数在姓名列查找王明所在的位置是5然后返回第三参数成绩列所在位置的第五行即55分 第二种:找不到查找值 为了更加直观,以成绩查找姓名,先对成绩进行升序排序 我们可以看到成绩表中是没有100分的, 当lookup函数找不到查找值就会返回小于或等于查找值的最大值 从表中可以看到小于等于100的最大值是92所以函数返回刘晓所在单元格 第三种:查找值小于查找区域的最小值 以成绩查找姓名,先对成绩进行升序排序 查找值为44分但是表中是没有44分且最低分为55分 当查找值小于查找区域的最小值,lookup函数会返回 #N/A 错误。 以上就是lookup函数经常遇到的三种情况,下面我们来get一些lookup函数的使用技巧 1.逆向查找 公式=LOOKUP(1,0/(A2:A8=F3),C2:C8) 公式解析 我们在公式中选A2:A8=F3 然后按F9,我们可以看到公式变成 LOOKUP(1,0/({FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE}),C2:C8) 我们可以看做0和括号中的每一个元素分别相除,可以把false看做是0,true看做是1,当0/0时返回错误值#DIV/0!而lookup函数会忽略错误值,当0/1时等于0,我们的查找值为1,而在所有元素中错误值被忽略,0小于等于查找值的最大值这样写的好处就是不用进行升序排序,其实所有元素也就只剩下一个0了 - - 2.多条件查找 公式:=LOOKUP(1,0/((A2:A9=F3)*(B2:B9=G3)),C2:C9) 这个跟第一个十分相似,只不过是在第一个条件后又乘了一个条件,也就是只有当数据两列同时为计算结果同时相乘为0时才满足条件返回,若还是看的不太明白可以翻看之前写的这篇文章十分类似 3.提取单元格内的数字 公式:=-LOOKUP(1,-LEFT(D2,ROW($1:$30))) -LEFT(D2,ROW($1:$30)),从D2单元格左边,对函数提取30次,而又在其前面添加了负号将提取数据转换为数值当提取出来的数据为文本是会返回错误值 查找值为1,也就是在构建的负数中进行查找结果,但是1不在数据中 因为使用lookup函数函数默认是升序排列的所以函数会返回最后一个正确的值,而最后一个正确值恰恰是我们要提取的值 最后我们在函数前加上负号来将提取出来的负数转换为正数 今天的内容就是这么多,好像有点难理解啊,不过没关系好好看一定能明白 你们的关注点赞和转发是我持续更新的动力 |
|