如何仅当 excel 中的值与查找中的类别 ID 匹配时才对它们求和

How to sum values in excel only if they match a category id in a lookup

假设我有这样的产品类别查找:

Sheet 1

Product Name    |    Product Category
--------------------------------------
product 1       |    A
product 2       |    A
product 3       |    B
product 4       |    A
product 5       |    B
product 6       |    C

我还有一个只使用产品名称的购买清单:

Sheet 2

Product Name    |    Purchase Quantity
---------------------------------------
product 1       |    35
product 4       |    10
product 5       |    5

我想生成这样的汇总:

Product Category   |    Purchase Quantity
------------------------------------------
A                  |    45
B                  |    5
C                  |    0

我尝试了多种方法来解决这个问题,例如:

SUMIF(LOOKUP('Sheet 2'!A2:A6,'Sheet 1'!A:A,'Sheet 2'!B:B), "=A", 'Sheet 2'!B2:B6)
SUMPRODUCT(LOOKUP('Sheet 2'!A2:A6, 'Sheet 1'!A:A, 'Sheet 2'!B:B)="A"*'Sheet 2'!B2:B6)

Excel 不喜欢第一个。它说公式不正确,但我不明白为什么。第二个产生#VALUE。对此的任何帮助将不胜感激。提前致谢!

D2中有A,用这个作为数组公式。

=SUM(SUMIFS(Sheet2!B:B, Sheet2!A:A, IF(Sheet1!B:B=D2, Sheet1!A:A)))

数组公式需要使用 Ctrl+Shift+Enter 完成,而不仅仅是 Enter。

在我看来,这么简单的问题没必要用复杂的公式。只需在 Purchase Quantity sheet 2 旁边添加另一列即可获得 Product Category 并只需使用 =SUMIF。我准备了一个解决方案来说明我的想法:

VLOOKUP 的公式:

=VLOOKUP(D2,$A:$B,2,FALSE)

SUMIF 的公式:

=SUMIF($F:$F,"=" & A10,$E:$E)

结果: