Vlookup最高阶应用的全网唯一解决方案

古有烟笼寒水月笼沙的缥缈朦胧,今有查询函数的假模糊匹配的终极应用!今天分享的内容是全网唯一哦~

为啥是假模糊匹配呢?一会和你说!

嗯嗯,Vlookup函数应该都使用的熟的不能再熟了,啰嗦一遍Vlookup函数的用法

=Vlookup(找什么,在哪里找,返回第几列,空)

这种用法就是我们工作中最常用的精确匹配,就是第一个参数一定要在哪里找的第一列中,且完全相等才可以查询出来!!

但是哪有这么好哇!此事古难全!

如果两边的数据不完全一样,而是包含关系怎么查询呢?

准备好了没?

GO !!!

一、查找内容只是被查找列表的一部分

(含有通配符的精确匹配)

先和大家介绍两个特别特别特别实用的通配符!

通配符是啥?就是无论什么都可以通通匹配上的字符!

?:匹配一个长度的任意字符(是英文的问号哦)

*:匹配任意长度的任意字符!

为啥要用到通配符?因为把查找内容补充上通配符后,就可以让查找与被查找的相等了!

我有原始表如下:

天气转暖了~春天到来了~NO!

又到了相亲的日子了!左边的列表有不同的品格,相似的评价合并到了一起。

右边的品格只有一个词博学,我希望找到博学多才对应的打分!怎么做呢?

上公式:=VLOOKUP("*"&D2&"*",A1:B5,2,)

核心应用是"*"&D2&"*",就是如果查找的内容属于被查找内容的一部分,就将查找的内容前后各加一个*号(匹配任意长度任意字符的通配符)

这样就可以以少查多啦!

二、查找内容的一部分内容在被查找列表

(Find函数、Lookup函数、数组函数的混合应用)

本案例是使用lookup函数实现的,为啥不用Vlookup?因为太麻烦了,还要重构数组函数,费事!

继续来栗子!!!

话不多说,来解决方案吧!

被查找列表内容比较短,查找的内容的一部分在被查找列表,咋做呢?

这个略难,一般比较难的,小编都是先上结论后拆解公式的!

公式:=LOOKUP(1,0/(FIND(A2:A5,D2)),B2:B5)

标准的公式肯定要加绝对引用,我相信你懂得,为了方便阅读,俺就不加了。

基本函数解释

如果要解释Lookup函数的用法,就小孩没娘,说来话长了!

简单的理解就是lookup可以看做Vlookup的模糊匹配查询

=Lookup(要查找的内容,要比对的列,要返回的列)

继续解释一下Find函数(查找某个文本在被查找文本中的位置)

=Find(查找的文本,在哪里查找)

第一步:

本案例中FIND(A2:A5,D2)是分别将A列的内容去D2单元格里面找,对应的返回值是{#VALUE!;#VALUE!;#VALUE!;3},查找的是数组,返回的也是数组,除了第四个,其它都是返回值均为错误,即没有找到。

第二步:

0/(FIND(A2:A5,D2)),用0除以Find函数的返回值,则前三个返回值依旧是错误,第四个返回值是0,返回值:{#VALUE!;#VALUE!;#VALUE!;0}

第三步:

将第二个和第三个参数代入公式

=LOOKUP(1,{#VALUE!;#VALUE!;#VALUE!;0},{4;5;3;6})

由于第二个参数的前面三个都是错误,所以模糊匹配后唯一的返回结果就是6了!

以上就是假模糊匹配的全部内容!

感谢各位朋友的关注!

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

原文发表时间:2017-03-01

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Coding迪斯尼

使用普拉特解析法解析复杂的算术表达式

1112
来自专栏程序员互动联盟

【专业技术】STL hash_map使用(一)

今天在使用STL中的hash_map模板遇到使用PTCHAR作为Key时无法对字符串进行正确比较的问题。 hash_map类在头文件hash_map中,和所有其...

3018
来自专栏快乐八哥

JavScript中的循环

循环知识 第一部分: 重复运行的代码就可以使用循环来解决。JavaScript的重复机制为循环(loop) for:适合重复动作已知次数的循环。 while:w...

2017
来自专栏灯塔大数据

技术 | Python从零开始系列连载(十三)

如果是你自己定义函数,函数名要符合变量命名规则,并且不能是系统关键字(在jupyter中,打出系统关键字是绿色的)

782
来自专栏ThoughtWorks

秒懂ReactJS | TW洞见

今日洞见 文章作者/配图来自ThoughtWorks:贾朝阳。 本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公司所有,任何媒体、网...

34210
来自专栏CDA数据分析师

教你一招:用70 行 Python 代码编写一个递归下降解析器

3个月前,我写了一篇文章,详细讲述了用解析库编写计算器的过程。然而,读者们普遍反应,他们对于见到一个从头开始写并且除了电池以外别无他物的计算器更感兴趣。我想,为...

16710
来自专栏木子墨的前端日常

懒就是生产力之图片懒加载

最近负责的项目渐渐的由业务型转向营销型,营销内容越来越多,图片也就多了起来。图片一多起来问题就来了,一上来几十张图片加载起来半天都过去了,咋办?凉拌--懒加载

712
来自专栏Java成长之路

函数重构之道

以下代码做了好几件事情。它创建缓冲区、获取页面、搜索继承下来的页面、渲染路径、添加神秘的字符串、生产HTML等等。

812
来自专栏前端大白专栏

react 的state数据更新机制

2167
来自专栏快乐八哥

JavaScript循环读书笔记

循环知识:自我重复的风险 第一部分: 重复运行的代码就可以使用循环来解决。JavaScript的重复机制为循环(loop) for:适合重复动作已知次数的循环。...

1757

扫码关注云+社区