lookup(Lookup_value, lookup_vector, Result_vector)
参数1:Lookup_value是要查找的值;
参数2:lookup_vector是要查找的范围;
参数3:Result_vector是要获得的值。
需要注意的是:LOOKUP的查询方式为二分法查询 。
举例来说明它的具体查询原理
查询一下数学成绩为86的学生姓名
在E2输入lookup函数。“回车”确定,函数结果86分对应的是“赵子龙”,实际86分是“诸葛亮” 。
进行原理解读,第一次二分法查询时,成绩数据共13行,求得中间值为第7行,取第7行数据 ,86大于46 ,则返回第8到第13行的值
第二次二分法查询时,成绩数据共6行,求得中间值为第3行,取第3行数据 ,86大于81,则返回第4到第6行的值
第三次二分法查询时,成绩数据共3行,求得中间值为第2行,取第2行数据 ,86大于70,则返回第3行的值,结果显示为“赵子龙”。
基于lookup的查询原理,有几点注意事项:
1、LOOKUP要查询一个明确的值或者范围的时候(也就是知道在查找的数据列是肯定包含被查找的值),查询列必须按升序排列。如果所查询值为明确的值,则返回值对应的结果行,如果没有明确的值,则返回小于或等于查找值的最大值。
2、查找一个不确定的值,如查找一列数据的最后一个数值,在这种情况下,并不需按升序排列。
了解其原理后,可以更清晰掌握如何使用lookup函数。
以之前的数据为例,复制数据到sheet3
首先进行升序排序操作。
然后,在D2输入lookup公式。可以看到排序后可以得到准确结果。
Lookup的查找功能是很强大的。
单条件查询公式=LOOKUP(1,0/(条件),目标区域或数组)
多条件查询公式=LOOKUP(1,0/((条件1)*( 条件2)* ( 条件N)),目标区域或数组)
单条件查询
查找李明数学成绩为例,在F3输入lookup函数,回车确认。
多条件查询
查找三班周瑜数学成绩为例,在K3输入lookup函数,回车确认。