Vlookup一对多查询简单理解
例:在原数据表中查询所有的射手
使用万金油公式INDEX SMALL IF ROW()函数可以解决,G2单元格数组公式如下:
=INDEX(C:C,SMALL(IF($B$1:$B$8=$F$2,ROW($B$1:$B$8),2^16),ROW(A1)))&''''
输入完要按三键(ctrl shift enter)
上述公式超级复杂,并且一般难以理解,需要使用F9一段段公式计算慢慢理解
今天教大家使用VLOOKUP 辅助列
轻轻松松解决一对多查询问题
第一步:建立辅助项
我们都知道Vlookup函数查找,当数据源区域内存在多条数据时,只会查找最前面的一个值,后面的值便会舍弃
故需将查找的值在数据源内变得唯一:
在A2输入公式:=B2&COUNTIF($B$2:B2,B2)
通过绝对引用使得累计计数,从而将3个射手变成射手1,射手2,射手3
这时我们需要查找的值也要进行射手1、射手2、射手3转换
使用$F$2&ROW(A1),变成射手1
当向下填充时,会变成$F$2&ROW(B1),即射手2
所以使用公式:
=VLOOKUP($F$2&ROW(A1),$A$1:$C$8,3,0)
完成了一对多的查询。
这个方法是不是很方便呢?你学会了吗?
========================
联系客服