excel lookup查找 返回多个值

vlookup只能找到range内的第一个符合资料的对应的值,有什么办法找出所有的值? 例如: A B C
a 123 =vlookupall(a1,$a$1:$b&4,2,false)
b 456
c 789
a 111
我要返回123和111,能否做到??

 1、首先打开数据表格,如下图所示。

2、假设需要调取A,B,E三个人这四个月的绩效,选中H59:K62单元格区域,如下图所示。

3、输入公式=VLOOKUP($G59,$A$59:$E$63,COLUMN(B59),0),如下图所示。

4、进行完第二步后,使用组合键“ctrl”+“enter”,完成数据的填充,如下图所示。

5、此公式的使用,仅限顺序连续调取数据,如果是查找一月和四月的数据,则不能使用这个公式进行全部空格填充,完成效果图。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-16

1.VLOOKUP函数一般一次只能返回一个结果,本例介绍通过辅助列的方法使VLOOKUP函数查询一个值,返回这个值对应的多个结果。

2.在原始数据中A列有多个“张三丰”,需要提取每个“张三丰”对应的“工号”。

3.一般情况的VLOOKUP只能返回第一个值,如下:

=VLOOKUP(A8,A1:D5,2,0)


4.在【姓名】列前插入一列,如下图输入公式:

=COUNTIF(B$2:B2,B2)

这个公式返回每个“姓名”从上到下是第几次出现,如第二个“张三丰”标记2。


5.将A2公式改成:

=B2&COUNTIF(B$2:B2,B2)

这样就将B列的“姓名”和出现次数连在一起。


6.在B8输入公式:

=A8&ROW(A1)

将A8值和ROW(A1)返回的1连在一起,下拉ROW(A1)会变成ROW(A2)返回2。


7.将B8的公式修改成如下:

=VLOOKUP(A$8&ROW(A1),A$1:E$5,3,0)

也就是在A1:E5范围内查询“张三丰”和出现次数的文本对应第3列的【工号】。


8.将公式下拉,就将所有“张三丰”对应的信息查询出来了。

第2个回答  2012-03-18
这个有解。输入
=IFERROR(INDEX($C$1:$C$100,MATCH($A1&$C1,$B$1:$B$100&$C$1:$C$100,)),"")
按F2,再同时按下Ctrl+Shift+Enter组合键,下拉填充完成。结果显示如:
A A 123 123
A B 456
A C 789
A A 111 111
或:=IFERROR(LOOKUP(1,0/(($A1=$B1)*($C:$C=$C1)),$C:$C),"")下拉填充即可
前面的IFERROR函数是如果输出错误就改为输出空,美观些罢了。可以去掉的。本回答被提问者和网友采纳
第3个回答  2012-03-05
你直接对根据a列进行排序不就行了?