首页 > Excel专区 > Excel函数 >

excel 如何实现隔列数据条件的vlookup函数匹配

Excel函数 2021-11-25 12:54:51

要利用型号B和型号A两个条件,来匹配B2:E16的数据区域,得到相应的产品编号。

 

如果这个简单解决的,无非就是调整列的位置,然后vlookup函数进行匹配即可。可这位工作人员希望不要调整每个列的位置,因为表格是公司固定的模式。这样下来就麻烦了,型号A和型号B之间居然还隔着一个叫MTF的字段列,这个如何进行匹配呢?还有就是vlookup默认是向右查询,这次是向左查询,所以这个问题解决起来肯定有点难度?

解题思路是,利用vlookup的反向查询的if函数数组功能,构造一个符合vlookup函数的“虚拟数据区域”,然后利用vlookup函数实现匹配。

具体操作如下:

首先,我们构造vlookup的查询字段,是有型号A和型号B组合而成,所以vlookup函数的第一个参数为:I3&H3 。注意型号A在前面,型号B在后面,用&连接符连接起来。

接着构造一个vlookup函数的“虚拟数据区域”,如下图的愿望效果:

从上图可以看出,vlookup的虚拟构造区域,需要先型号A和型号B组合成一个新列,然后在把产品编号列放在右侧。那应该如何实现呢?利用if函数的数组功能。

使用的下段函数

if({1,0},C2:C16&E2:E16,B3:B16) 对照下图看,{1,0}中1表示左边,0表示右边。

C2:C16&E2:E16 表示将型号A和型号B连接后,放在数据的左边。

B3:B16 表示产品型号放在数据的右边。

从而在计算机的内存中构造出一个,上图红框处期望的两列的数据库查询区域。

 

最后就简单了,利用vlookup函数查询虚拟区域的第二列返回产品编号。完整的函数输入如下:

=VLOOKUP(I3&H3,IF({1,0},$C$3:$C$16&$E$3:$E$16,$B$3:$B$16),2,0)

注意函数录入完毕之后,需要按住ctrl+shift键,在敲回车键,然后函数外面产生一个大括号,函数才会生效,最后拖拽或双击数据填充柄实现其他行的匹配。

总结:本例算vlookup函数的高级用法,不单单是反向查询的问题,更是构造虚拟数据区域的问题。所以=VLOOKUP(I3&H3,IF({1,0},$C$3:$C$16&$E$3:$E$16,$B$3:$B$16),2,0) 红色部分推荐大家掌握。


标签: excel隔列数据条件匹配VLOOKUP函数

office教程网 Copyright © 2016-2020 https://www.office9.cn. Some Rights Reserved.