当您写完一个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与统计分析
