在实际工作中,我们经常会碰到VLOOKUP函数的第一参数查找值与第二参数查找范围中的首列值不完全一致的情况,以至于无法用VLOOKUP函数来进行匹配查找。而VLOOKUP函数和SUBSTITUTE函数结合使用可以帮助我们解决这一问题,也就是将SUBSTITUE函数嵌套到VLOOKUP函数的第一参数中,用SUBSTITUE函数替换掉查找值中与查找范围首列不一致的文本后再进行查找,以此来达到查找匹配的目的。

来看一个案例。如下图,在“明细”表中是一张员工薪资的分类汇总表,表格中有每个员工的薪资和每个部门薪资的汇总,在“总表”表中需要将“明细”表中每个部门的汇总的薪资匹配过来。这个时候我们首先会想到用VLOOKUP函数来进行匹配查找。

excel中VLOOKUP和SUBSTITUTE函数嵌套:替换掉查找值部分文本后进行查找-趣帮office教程网

excel中VLOOKUP和SUBSTITUTE函数嵌套:替换掉查找值部分文本后进行查找-趣帮office教程网

首先来看一下VLOOKUP函数的语法结构:它的语法结构为:

=VLOOKUP (查找值,查找区域,列序数,匹配方式),也就是从一个数据区域去查找,返回查找区域中第几列(列序数)数据。

选择“总表”表中的B2单元格,输入:

=VLOOKUP(A2,明细!A:D,4,FALSE),返回的结果是“N/A”,也就是VLOOKUP函数无法在查找范围中找到符合要求的结果,在这个公式中查找值A2单元格内容为“会计部合计”,而查找范围“明细“表中的A:D列的首列中没有“会计部合计“这个文本,我们要返回的是”会计部汇总“所在行第四列的单元格D11的内容。

excel中VLOOKUP和SUBSTITUTE函数嵌套:替换掉查找值部分文本后进行查找-趣帮office教程网

那么怎么样才能让这个函数返回正确的结果呢?我们就需要嵌套SUBSTITUTE函数到VLOOKUP函数的第一参数查找值这里。将第一参数的文本内容进行部分替换,替换成和查找范围中的首列一致。

看一下SUBSTITUTE函数的语法结构:

=SUBSTITUE(源字符串,被替换字符串,替换字符串,[替换位置]);当省略“替换位置”时,默认从第一个位置开始替换。

我们要将SUBSTITUE函数嵌套到VLOOKUP函数的第一参数中,将B2单元格VLOOKUP函数中的第一参数A2改为:SUBSTITUTE(A2,"合计"," 汇总"),其中函数中SUBSTITUTE第一参数A2为源字符串,第二参数“合计“是A2中需要被替换的字符串,第三参数” 汇总“是替换字符串,注意因为明细表中查找范围的首列的匹配值“会计部 汇总”中有空格,所以第三参数” 汇总“前面也需要空格。这个时候VLOOKUP函数第二参数“SUBSTITUTE(A2,"合计"," 汇总")”返回的结果为“会计部 汇总”,这个结果与“明细”表中A列的A11单元格的内容一致。

再来看“总表”中B2单元格返回的结果是“明细”表中D11单元格的值,也就是会计部薪资的总计。这个结果就是我们需要查找匹配的结果。

excel中VLOOKUP和SUBSTITUTE函数嵌套:替换掉查找值部分文本后进行查找-趣帮office教程网

excel中VLOOKUP和SUBSTITUTE函数嵌套:替换掉查找值部分文本后进行查找-趣帮office教程网

将B2单元格的公式往下填充,将所有部门的合计数据匹配过来,可以看到两张表格的合计数据是一致的,也就是我们匹配的结果是正确。

excel中VLOOKUP和SUBSTITUTE函数嵌套:替换掉查找值部分文本后进行查找-趣帮office教程网

excel中VLOOKUP和SUBSTITUTE函数嵌套:替换掉查找值部分文本后进行查找-趣帮office教程网

以上就是VLOOKUP函数嵌套SUBSTITUTE函数替换查找值部分文本后进行查找的方法,希望能帮助到大家的日常工作,如有疑问,欢迎留言。