Vlookup函数实现多条件查找,得将多个条件合并,并利用数组公式建立起一个同样是多条件合并后的数组作为查询区域进行查询
软件版本:Office2013
方法如下:
1.查找G列和H列分别与A列和B列相同的值对应的C列的值:
2.输入公式如下:
=VLOOKUP(G1&H1,IF({1,0},$A$1:$A$8&$B$1:$B$8,$C$1:$C$8),2,0)
同时按下Ctrl+Shift+Enter三键结束公式,完成数组公式
3.下拉填充得到结果:
VLOOkup函数一般是单个条件查找,当遇到多个条件时VLOOKUP就显得力不从心了。于是我们可以选择用sumproduct函数,lookup函数和match函数等方法来实现多条件查找。如果你只会vlookup函数,那你可以用今天我们学习的方法,只用vlookup就可以完成多条件查找。
例:如下图所示。要求根据产品名称和型号从上表中查找相对应的单价。
分析:如果直接用vlookup函数,我们也只有用数组重组的方法来完成,这对于新手同学比较吃力,所以用辅助列的方法来曲线解决。
步骤1:如下图所示在A列设置辅助列,并设置公式:
=B2&C2
步骤2:在下表中输入公式就可以多条件查找了。
=VLOOKUP(B11&C11,$A$2:$D$6,4,0)
公式说明
B11&C11:把查找的两个条件合并在一起,作为VLOOKUP的查找内容。
1、桌面上打开一个Excel文档。
2、文档打开的主界面如图。
3、查找函数VLOOKUP有3个必选参数,与1个可选参数。
4、我们自己的需求如图。
5、输入完整的VLOOKUP函数。
6、回车后,看到VLOOKUP函数的结果。
7、将一个结果复制到其他栏,就可以看到所有的结果了。
=VLOOKUP(A1&B1&D1,IF({1,0},A5:A8&B5:B8&D5:D8,C5:C8),2,0)
另外{1,0}也可以写成{1,0,0,...}
我一般都会在每个条件中间加一竖,免得无法区分"A"&"BC"和"AB"&"C"
三个条件时
=VLOOKUP(A1&"|"&B1&"|"&D1,IF({1,0},A5:A8&"|"&B5:B8&"|"&D5:D8,C5:C8),2,0)
或者
=VLOOKUP(A1&"|"&B1&"|"&D1,CHOOSE({1,2},A5:A8&"|"&B5:B8&"|"&D5:D8,C5:C8),2,0)
数组分式在EXCEL2010太慢了,最好还是在被查找源里增加一列辅助列,把A5:A8&"|"&B5:B8&"|"&D5:D8放在辅助列,然后用=VLOOKUP(A1&"|"&B1&"|"&D1,选辅助列和C5:C8,2,0).这样接近EXCEL2003的速度.
如图,70000多行,在最后做了一列辅助列10秒左右,结果列也做辅助列10秒,VLOOKUP公式一拉也是10秒就出结果.合起来30秒左右.如果用数组公式要几分钟,中间电脑还什么都干不了.