暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

VLOOKUP进阶系列(2)---神奇的通配符

全栈数据 2021-03-21
2228

当您写完一个VLOOKUP公式胸有成竹地按下ENTER键时发现得到的结果并不是您想要的数据,
当您还在从海量数据中逐个人工比对的时候,
当您还在茫然无助地看着电脑发呆的时候,
您是否会想到我呢,蓦然回首,函数就在灯火阑珊处!


VLOOKUP

在职场中,我们常使用Excel中的VLOOKUP函数来进行数据的查询引用。

作为Excel中最重要的函数之一,VLOOKUP函数各种各样的用法,让我们在查询数据时得到极大的快捷和便利。

<VLOOKUP函数>

用途:用通俗的话就是根据现有条件查找到符合条件的值再黏贴过来。

语法:VLOOKUP(查询值,查询范围,返回列数,匹配方式)

①第1个参数:选中查找范围里的第一列的值必须是要查找的值。

②第2个参数:使用F4按钮灵活转换绝对引用和相对引用,使查找范围全部选中。

③第3个参数:指定要返回查询区域中第几列的值。

③第4个参数:精确匹配为0,模糊匹配为1。


奇怪的事

今天,我按照标准的用法,使用VLOOKUP匹配查询,却发生了一件奇怪的事情。

公式:=VLOOKUP(D2,A2:B10,2,FALSE)


我想查找PK-100*50返回该行的第二列,应该返回的是1600才对啊,但是,很奇怪,却返回了480,出什么幺蛾子了?

经过反复排除,原来是对VLOOKUP的参数掌握不够到位。VLOOKUP在精确查找时,是支持通配符的(通配符包括:问号(?)和星号(*))。也就是说,当第四个参数为FALSE时,VLOOKUP会把问号匹配为任意单个字符,把星号匹配为任意多个字符。如果要查找实际的星号或问号,需要在字符前键入波浪号(~)。


I SEE,原来公式得这样写:

=VLOOKUP("PK-100*50",A2:B10,2,FALSE)

可是,这样写会出现第二个问题,如果我查找100次不同的内容,我就得修改100次第一个参数,这数据要是多了,肯定难以处理了,有没有什么更加自动的方法呢?


偷梁换柱函数


此时,就该偷梁换柱函数--SUBSTITUTE 出场了。

SUBSTITUTE函数是强大的文本替换函数。


SUBSTITUTE函数的语法格式

=SUBSTITUTE(text,old_text,new_text,[instance_num])

=SUBSTITUTE(需要替换的文本,旧文本,新文本,第N个旧文本)

参数Instance_num ——为一数值,用来指定以 new_text (新文本)替换第几次出现的 old_text(旧文本)。

参数Instance_num 可省略,这表示用 new_text(新文本)替换掉所有的old_text(旧文本)。


这样,我们就可以将D2单元格中的值利用函数进行替换。

公式为=SUBSTITUTE(D2,"*","~*")

然后把替换的结果作为VLOOKUP的第一个参数值,动手试试,果然OK,诡异的问题终于解决了,哈哈。


最终的公式为:

=VLOOKUP(SUBSTITUTE(D2,"*","~*"),A2:B10,2,FALSE)

更多Excel与统计分析知识,请扫码关注:Excel与统计分析

文章转载自全栈数据,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论