Excel常用公式之Lookup
简介 lookup公式用于通过查询值从一个表中查找想要的对应值。例如利用学生的名字从成绩单中查找他对应的分数。 常规用法 Lookup(查询值,查询列表,返回列表) 如图所示AB两列为省份和其对应的代码。在E2位置的公式为 =LOOKUP(D2,B2:B33,A2:A33) ,意思是在B列中查找和D2相同的值,如果找到了就返回对应的A列的值。在H2位置的公式为 =LOOKUP(G2,A2:A33,B2:B33) ,意思是在A列中查询G2的值,如果找到了就返回对应的B列的值。 从结果可以看出,这两个查询都失败了,一个返回了错误的结果,一个不返回结果。这是因为Lookup函数的设计十分傻逼,一度导致没人愿意用这个函数,直到有人开发出高级用法。那么这个函数傻逼在哪呢? 在Lookup函数中,查询列表必须按从小到大的顺序排列,那有人说这里B列是字符串怎么从小到大,实际上字符串也是有大小的,字符串的大小就是字符在编码表中的编号,从第一个字符开始依次比较,直到比出大小。为什么微软的程序员要做这么傻逼的设计呢?我的理解是为了提高搜索效率。当这就导致这个函数几乎没法使用了。最终这个函数的效果是会把查询列表中不大于查询值的最后一个值返回。这里查询“上海市”返回了64,64对应的是“宁夏回族自治区”。 从下图可以看出,“宁夏回族自治区”是倒数第三个。 然后下图中我们对省份按升序排列了一下,可以看出