前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vlookup最高阶应用的全网唯一解决方案

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

作者头像
用户1332619
发布2018-03-08 17:08:09
7970
发布2018-03-08 17:08:09
举报
文章被收录于专栏:阿凯的Excel

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

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

嗯嗯,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了!

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

感谢各位朋友的关注!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-03-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 阿凯的Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档