Vlookup函数的大表哥介绍

谈到匹配函数,杠把子肯定是Vlookup函数,由于Vlookup前期的文章已经分享过了,今天分享Vlookup的大表哥,谁是他的大表哥呢?有人会说Hlookup,No!No!No!他俩是孪生兄弟的关系,他的大表哥是Lookup。有朋友让我写一篇Lookup的应用分享,我就老老实实写了一个。今天会从Lookup模糊匹配用法,精确匹配用法,特殊用法三个方向进行分享。

第一部分:模糊匹配用法

这个是模糊匹配的典型应用案例,即某个数字区间返回一个固定的值。重温一下如果用Vlookup函数实现

=VLOOKUP(C2,$F$2:$G$4,2,1) 找什么,在哪里找,返回第几列,最后一个值尤为重要(是1)

那如果使用Lookup函数如何实现呢?

方法一:

公式:=LOOKUP(C2,F1:G4)

这种使用方法是数组形式,Lookup第一个参数是要查找的内容。第二个参数是一个区域(这个区域是行数大于等于列数),且这个区域的第一列必须从小到大排序。这个函数的返回值就是矩形区域的最后一列。

如果第二个参数的区域列数大于行数,则和Hlookup的模糊匹配相同,在这里不做展开。

方法二:

公式:=LOOKUP(C2,F1:F4,G1:G4)

这种使用方法是向量形式,个人比较喜欢这种方法,接三个参数,第一个参数是找什么;第二个参数是以什么作为对比,这个必须是升序进行排列;第三个是返回什么。

小编观点:其实Lookup函数在模糊匹配上数组用法和Vlookup的模糊匹配没有什么差异,第二个向量用法会比Vlookup灵活一些,实战用处只大了那么一点点点。

第二部分:精确匹配

案例要求使用名字查找对应的评分。案例实现:

公式:=LOOKUP(1,0/(B2:B7=E2),C2:C7)

这个方法是比较巧妙的,所以需要各位朋友睁大双眼观看哈!大家我们输入第一个参数找什么呢?输入的是1,在哪里找呢,是用0除以姓名那一列等于中岛美嘉,第三个参数是填写返回什么值,我们把评分的那一列选中。以上就是函数的基本编写原则。

接下来和大家分享函数的拆分原则和思路。我们从内向外拆分,先拆分B2:B7=E2,这个是姓名那一列等于中岛美嘉,有前面vlookup排错,大家也知道两个单元格相等判断,返回的是真假,这样子除了第三行数据外,其它的返回值都是false,只有中岛美嘉返回的是true。在Excel中,True等同于1,False等同于0.

用0除以True和False的数组,则0除以1的时候还是返回0,但是正常分母是不可以为0的,所以其他值返回的都是错误。

回归Lookup大函数,找什么呢,找1,在哪里找呢,发现第二个参数是个数组,除了数组中的第三位是0,其它都是报错的。之前分享过,lookup在这里就是模糊匹配用法,所以电脑只能认为第三行数据是电脑找到的,则返回了评分数组中的第三位,也就是5。

小编观点:个人感觉精确匹配使用Lookup其实有点局限性,单纯的精确查找用Vlookup即可,如果是遇到精确匹配的反查,其实用Match和Index效率更高。当然Lookup我最喜欢的应用就是实现左右相互包含时候,与Find函数的组合应用。详见我其他文章。

第三部分:特殊用法

Lookup当然也有自己比较独特的应用,在这里分享一个案例。如何返回最后一个文本或数值。

比如有些表格是有汇总求值的,我们想获得这个表的最后一行数据,怎么用Lookup函数实现呢?

公式:=LOOKUP("座座座",A:A,C:C)

这个是模糊匹配用法的变种,根据模糊匹配原则,第一个参数是查找什么,第二个参数是以什么作为对比,第三个参数是返回什么。

然后我讲第一个参数设置为一个足够大的文本,文本如何比对大小呢?是根据汉字转化为拼音进行对比,如座(zuo)的Z比汇(hui)的H大,所以座在汉字中是相对比较大的文字。

因为第一个参数“座座座”都比A列中的大,所以电脑只能返回最后一列数据对应C列的值了。

小编观点:这种用法虽然不是十分常见,但是比较巧妙,是拓展函数编写思路的一个很好的应用!

原文发布于微信公众号 - 阿凯的Excel(akexcel)

原文发表时间:2017-04-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏SeanCheney的专栏

《图解算法》总结第1章 算法简介第2章 选择排序第3章 递归第4章 快速排序第5章 散列表第6章 广度优先搜索第7章 狄克斯特拉算法第8章 贪婪算法第9章 动态规划

Grokking Algorithms: An illustrated guide for programmers and other curious peop...

3559
来自专栏全沾开发(huā)

总结CSS3新特性(Transiton篇)

总结CSS3新特性(Transiton篇) CSS 过渡(transition), 是 CSS3 规范的一部分, 用来控制 CSS ...

3306
来自专栏阮一峰的网络日志

CSS中背景图片定位方法

上面这三句语句,都将图片定位在背景的左上角,表面上看效果是一样的,实际上第三种定位机制与前两种完全不同。

871
来自专栏iKcamp

翻译连载 | 附录 A:Transducing(下)-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇

原文地址:Functional-Light-JS 原文作者:Kyle Simpson-《You-Dont-Know-JS》作者 JavaScript 轻量级函数...

1798
来自专栏coding for love

CSS进阶11-表格table

(注1:如果有问题欢迎留言探讨,一起学习!转载请注明出处,喜欢可以点个赞哦!) (注2:更多内容请查看我的目录。)

842
来自专栏猿人谷

rand(),srand()产生随机数

      rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种子,为基准以某个递推公式推算出来的一...

2958
来自专栏逆向技术

逆向课程第五讲逆向中的优化方式,除法原理,以及除法优化下

        逆向课程第五讲逆向中的优化方式,除法原理,以及除法优化下 一丶除法的优化 1.有符号被除数 / 无符号除数的情况下 高级代码为: ? 汇编中优化...

1925
来自专栏java达人

哈希表

哈希表是种数据结构,它可以提供快速的插入操作和查找操作。第一次接触哈希表时,它的优点多得让人难以置信。不论哈希表中有多少数据,插入和删除(有时包括侧除)只需要接...

1637
来自专栏ACM小冰成长之路

51Nod-1617-奇偶数组

ACM模版 描述 ? ? 题解 这个题的题意有些繁琐,看了好久才看懂。 首先给定一个1~n 序列,要你进行一系列变换,直到没有变化后,然后对该序列进行区间查询。...

1785
来自专栏企鹅号快讯

【编程经验】Python之collections模块

collections模块是一个不用不知道,一用就上瘾的模块。因为它提供了几种非常方便的数据结构和方法,在有些情况下特别好用。今天给大家总结一下其中的Order...

1665

扫描关注云+社区