excel查找函数中,最主要用到的是vlookup,但是excel还提供了另外一个强大的查询函数,让我们来详细介绍一下,这个函数的用法和他们的使用限制,以及如何突破使用限制。
函数lookup, 按条件查询函数语法1(向量形式):loopup(查询数据,查询范围,查询结果范围)如图,要求根据学号查询学生姓名和总分,输入:=lookup(a21,a1:a12,b1:b12)结果:姓名是李四,很明显是错误的,学号为6的学生姓名是吴十三,不是李四!!!
这就要说到,lookup函数的第一个限制,查询数据前,要先对查询条件进行升序排列。我们先对表格的学号进行升序排列输入:=lookup(a21,a1:a12,b1:b12)结果:吴十三,查询正确
注意,由于对查询条件有“升序排列”的要求限制,所以,lookup函数,如果查询条件是文本格式,那么查询的结果很有可能出错,因为文本的升序排列很不友好,excel不一定会识别,除非像学号这种只包含纯数字的文本格式,excel可以支持,所以使用lookup不建议查询条件是文本格式,特别不支持中文!!!。这就是lookup的第二个使用限制,查询条件是文本是,支持不好,容易出错,不建议使用!!!语法2(数组形式):loopup(查询数据,查询数组) 其中,查询数组第一个元素是查询数据所在列,数组最后一个元素是查询结果所在列。要求:根据学号查询姓名和总分,同样要根据查询条件升序排列。输入方法1:=lookup(a23,$a$2:$b$12)解释:函数第二个参数是数组,可以直接选择一个范围,要求这个范围冒号前面的是数据查询列,即a列,冒号后面的是查询结果列,即b列,所以这个范围是a2:b12,前面加$是绝对引用。这种输入方法额限制是:只能通过左边列查找右边列,反过来没有实现的可能。
输入方法2(标准输入):=lookup(a23,$a$1:$a$12:$b$1:$b$12)解释: $a$1:$a$12:$b$1:$b$12, 最中间冒号的左边是查询数据所在列,右边是查询结果所在列。限制条件:只能通过左边列查找右边列,反过来没有实现的可能。lookup突破限制条件方法我们已经介绍了lookup的主要应用方法,也知道了lookup函数的主要限制条件:最大的限制,需要对查询条件进行升序排列。第二个限制,数组方式中不支持逆向查询。突破方法,语法:=lookup(1,0/(查询范围=查询条件),查询结果范围)取个例子:=lookup(1,0/({0,0,0,1,0}),{6,7,8,9,10})解析:0/({0,0,0,1,0})中,会返回一个数组 {错误, 错误, 错误,0,错误}, 由于0/0会出错,0/1为0,而lookup是模糊查找,如果找不到,会返回一个和查找数据最接近的且比查询条件小的数,所以lookup(1,0/({0,0,0,1,0}),{6,7,8,9,10})会返回最后一个不出错的数据,即9.要求:对没有进行学号排名的数据表进行查询输入:=lookup(1,0/($a$1:$a$12=a21),$b$1:$b$12)
多条件查询-用多个条件查询一个数值语法:=lookup(1,0/(查询范围1=查询条件1)* (查询范围2=查询条件2)* (查询范围3=查询条件3),查询结果范围)要求:根据姓名和班级查询该学生的总分输入:=lookup(1,0/(b1:b12=a25)*(c1:c12=b25),g1:g12)
到今天,查询的3个函数,vlookup,hlookup和lookup已经介绍完毕,大家还有什么要了解的,可以留言,大家一起讨论。