我们都知道当数据过多的时候,我们制作Excel图表就会显得非常的复杂,图表上面的内容就会特别多。Excel老玩家就会想到用切片器制作动态可变化的图表来显示。今天我们就来学习一下一个比......
2023-01-08
要利用型号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图表就会显得非常的复杂,图表上面的内容就会特别多。Excel老玩家就会想到用切片器制作动态可变化的图表来显示。今天我们就来学习一下一个比......
2023-01-08
在工作中,可能许多朋友都会碰到一个情况,那就是工作簿和工作表数据的合并操作。如何将上百个工作簿快速合并到一个表格中,许多朋友可能会觉得不可思议。今天我们就来教大家学习一......
2023-01-08
今天在这里为你分享5个Excel文本函数,这些拆分和组合函数,你一定会用上的。①LEFT函数公式:=LEFT(A2,1)在Excel表格中,需要想要拆分汉字,想从哪里开始就从那哪里开始。首先选定单元格......
2023-01-08
相信大家也和我一样,才开始看到Excel可以当做翻译软件的时候会很好奇,这究竟是怎样做到的?其实,这个方法并不是很难,它是由一个函数公式而制作出来的,好了,首先我们一起来看看成......
2023-01-08
函数可以说是所用快捷方法中最为简单的一种方法,为什么很多人认为函数用起来很难了?主要是因为它拥有很长的函数公式,记不住。其实不管是学Excel函数,还是学习其他的一些快捷方法......
2023-01-08