2016-03-01 129 views
0

我有一个Excel工作表,看起来像这样..VLOOKUP有多个匹配

HA-MASTER CategoryID 
38231-S04-A00 14 
39790-S10-A03 14 
38231-S04-A00 15 
39790-S10-A03 15 
38231-S04-A00 16 
39790-S10-A03 16 
38231-S04-A00 17 
39790-S10-A03 17 
38231-S04-A00 18 
39790-S10-A03 18 
38231-S04-A00 19 
39790-S10-A03 19 
38231-S04-A00 20 
39790-S10-A03 20 
38231-S04-A00 21 
39790-S10-A03 21 
38231-S04-A00 22 
39790-S10-A03 22 
38231-S04-A00 23 

有没有办法做一个VLOOKUP(或类似的东西)返回的东西,如:

14 38231-S04-A00, 39790-S10-A03 
15 38231-S04-A00, 39790-S10-A03 

etc... 
+0

行是否总是按类别ID配对(所有类别ID是否总是有2行?)。如果是这样,你可以做2'VLOOKUPS',然后连接结果。 – nbayly

+0

如果每个类别的行数不确定,那么您无法使用公式优雅地解决此问题,并且您至少需要一个连接数组的UDF。有了这个,你可以使用'IF'和数组公式来匹配所有匹配的行,然后使用UDF将它们连接起来。 Regards – nbayly

回答

0

有一种粗略的方法可以通过公式和第三栏来完成。

1)在第3列中使用以下公式并将其向下展开。 = IF(B2 = B3,A2 &“,”& C3,A2)

注意:这里假定您的示例从单元格A1开始。其中A1 =“HA-MASTER”

2)现在让你的VLOOKUP运行,它返回匹配的第3列(而不是第1列)。 VLOOKUP返回匹配的第一个结果,该结果现在是与其ID号相匹配的所有行的串联。

注意:您需要确保所有行均基于列B(类别ID)进行排序才能生效。注2:我假设你正在寻找连接列表,没有连接到你的结果的CategoryID。

+0

谢谢,如果我只有每个类别2个数字,这将工作。我应该在我的问题中使用更大的数据样本...有没有一种方法可以改变这种情况,即使存在比2更多的行,也包括了所有“HA-MASTER”数字? –

+0

我更新了公式,它现在应该按照预期工作(包含尽可能多的行)。由于我没有双手检查我的作品,所以我写了一个错误。我改变了'A3'到'C3',所以它现在积累了。 –