具有多列匹配的VLOOKUP

时间:2014-10-17 16:29:25

标签: excel match vlookup

第1页

A   | B         | C
0   | 100001    | 855.71
0   | 100002    | 73.68
0   | 100003    | 704.58
0   | 100004    | 0
0   | 100005    | 0
0   | 100006    | 604.57
0   | 100007    | 15638.66
0   | 100008    | 1085.85

第2页

A   | B         | C
0   | 100001    | 
0   | 100002    | 
0   | 100003    | 
0   | 100004    | 
0   | 100005    | 
0   | 100006    | 
0   | 100007    | 
0   | 100008    | 
0   | 100009    | 
0   | 100010    | 
0   | 100011    | 

这就是我在Excel中的2张图片,我需要在第一页上查找表格的第二页上进行vlookup,如果列A和B匹配,则打印出C列中的内容。所以匹配0和100001将显示855.71。

我尝试将colum A和B连接在一起并使用以下公式进行匹配:

 =VLOOKUP(A3&B3,Sheet1!$A$1:$D$8,3,FALSE)

但我只是得到#N / A错误,任何帮助都会很棒。

1 个答案:

答案 0 :(得分:3)

您必须在Sheet1的新第4列中连接以此方式使用Vlookup。相反,您可以使用sumifs(),因为您的查询是一个数字,查找值看起来是唯一的:

=sumifs(Sheet1!C:C,Sheet1!A:A,A1,Sheet1!B:B,B1)

作为替代方案,如果C中的值不是数字且您不希望它们相加,则可以使用index()sumproduct()的组合,其中sumproduct()将提供找到匹配项的行号,index()将从该行检索值:

=index(Sheet1!C1:C500, sumproduct((A1=Sheet1!A1:A500)*(B1=Sheet1!B1:B500)*Row()), 1)

这很丑陋,但它会让你不必为了连接密钥而制作一个多余的专栏。请注意,这仅在A和B是唯一的情况下才有效。如果有多个行,其中A和B相同,则返回的ROW()将被求和,查找将不正确。