汇总excel中的匹配值

我有两个excel表格:

ABCDE 1 John 10 Mark 2 2 Tommy 20 Tommy 3 3 Jane 15 John 4 4 Kate 2 5 Jane 1 

是否有一个函数来让colum B中的值与列E中与名称相匹配的那些值相加,即10 * 4 + 20 * 3 + 15 * 1?

你可以使用sumif来完成这个任务,只需sumif结果总结一下:

 =B1 * sumif(D:D, A1, E:E) 

将其复制到您的工作表中,然后合计总计。

如果你不想在你的工作表上粘贴大量的公式,你可以把它转换成一个CSE / Array公式:

 =SUM($B$1:$B$3*SUMIF(D:D, $A$1:$A$3,E:E )) 

只需input它,然后按Ctrl + Shift + Enter即可input。 它会得到花括号,这意味着它是一个数组公式。

由于您询问了有关产品,我们可以使用SUMPRODUCT

 =SUMPRODUCT(($A$1:$A$5=A1)*$B$1:$B$5)*SUMPRODUCT(($D$1:$D$5=A1)*$E$1:$E$5) 

现在假设没有重复(所有的名字都是唯一的)。 如果名称不是唯一的,您将把这些数字相加,然后相乘。

在将其应用于列并适当复制之后,让我们说F1到F3,在F5中,您可以使用以下方法得到最终答案:

 =SUM(F1:F3)