热线电话:13121318867

登录
2020-07-23 阅读量: 1445
从源头告诉你如何避开Lookup函数的一些坑,以及拓展Lookup函数的使用场景

Vlookup函数用的很多,Lookup函数用得相对少些,而且因为Lookup函数经常会返回让你无感知的错误数据,所以更加有点讨厌它。

但是!存在即合理! Lookup函数能办一些Vlookup函数办不到的事,而且速度还快!所以决心好好研究下这个函数!

终于找到一篇比MS office上还好的文章,这里记录并分享:

注:本文转自https://jingyan.baidu.com/article/a378c96090ae50b3282830e5.html 请关注并多多支持作者!

首先:

LOOKUP函数的语法如下:

LOOKUP(lookup_value,lookup_vector,result_vector)

LOOKUP(lookup_value,array)

lookup_value意思为我们要在数据表中查找的“值”。

lookup_vector意思为我们要查找的值得“数据表”。

result_vector意思为我们通过数据表想要得到的"值“。

LOOKUP的查询方式为二分法查询,具体的查询原理看下图。

Excel中函数LOOKUP查询函数的用法及其原理










下面我们用例子给大家具体讲一下LOOKUP的具体应用与原理:

我们以一个学生成绩表为例进行分析,查询一下英语成绩为98的学生姓名:

F2的公式为=LOOKUP(D2,B2:B15,C2:C15)

意思为从B2:B15列里面找D2,并返回C2:C15相对应行的值

这里的结果是"刘备"肯定会让好多人感到困惑,明明有98对应的是“王思”怎么会返回“刘备”呢?那么看往下看,大家就会彻底明白的。

Excel中函数LOOKUP查询函数的用法及其原理













  1. 我们对LOOKUP的查找方法进行分解——第一次二分法查询:

    98会跟第7行的数据78进行比较,因为98>78,所以返回第8到第14行的值。

    Excel中函数LOOKUP查询函数的用法及其原理

  2. 第二次二分法查询:

    98会跟第4行的数据66进行比较,因为98>66,所以返回第5到第7行数据。

    Excel中函数LOOKUP查询函数的用法及其原理

  3. 第三次二分法查询:

    98会跟第2行的数据87进行比较,因为98>87所以返回第3数据。

    因为98比91大,所以就向下近似取比98小的最近的值——91所对应的名字


    Excel中函数LOOKUP查询函数的用法及其原理

  4. 这里就给我们总结了一个知识点:

    1、LOOKUP要查询一个明确的值或者范围的时候(也就是知道在查找的数据列是肯定包含被查找的值),查询列必须按照升序排列。(在EXCEL帮助文档里也是这么说的)

    如果所查询值为明确的值,则返回值对应的结果行,如果没有明确的值,则向下取的于所查询值最近的值

    2、查找一个不确定的值,如查找一列数据的最后一个数值,在这种情况下,并不需呀升序排列。(下面有例子特别说明)

LOOKUP用法1:LOOKUP(lookup_value,lookup_vector,result_vector)

  1. 1

    我们以例子1来帮助大家理解(没有明确的值,但是存在包含关系)

    一个公司的销售提成表如下:

    Excel中函数LOOKUP查询函数的用法及其原理

  2. 2

    我们求取销售额在40W所得提成:

    这因为40W介于10W与50W之间,所以取比40W小的,最接近的值10W所对应的提成比例。

    Excel中函数LOOKUP查询函数的用法及其原理

    Excel中函数LOOKUP查询函数的用法及其原理

  3. 3

    我们以例子2来帮助大家理解(有明确的值)

    如下图,找成绩为英语98的人的姓名:

    Excel中函数LOOKUP查询函数的用法及其原理

    END

LOOKUP用法2:LOOKUP(lookup_value,array)

  1. 1

    LOOKUP(lookup_value,array)的意思为,从array(数组)里的第一列查找”lookup_value“的值,并返回array里最后一列的结果。

    我们依旧以例子来解释

    我们一个班级的学生成绩单:

    Excel中函数LOOKUP查询函数的用法及其原理

  2. 2

    我们查找“李刚”的总成绩:

    公式为: LOOKUP(G5,B2:F11)

    从B列中查找G5的值,找到后,返回F列对应的行的值。

    Excel中函数LOOKUP查询函数的用法及其原理

    END

LOOKUP函数查找最后非空数值的方法及原理

  1. 这里如果查询表中,最后一个人的工资。我们想想该怎么写?

    Excel中函数LOOKUP查询函数的用法及其原理

  2. G2的公式为: LOOKUP(9E+307,d:d)

    9E+307是Excel中的最大数值

    G3的公式为: LOOKUP(65535,CODE(C:C),D:D)

    65535是Excel中汉字代码的最大代码


    Excel中函数LOOKUP查询函数的用法及其原理


36.6908
3
关注作者
收藏
评论(0)

发表评论

暂无数据