如果有人在同一行的数字,总和

我在列A中有一个数字表。列B到D中填充了名称(Person X,Person Y等),它们不在同一行内重复:

ABCD ---------------------- 100 | XZB 80 | YXK 60 | ZAY 

我想使用像SUMIF这样的东西来总结我所有的名字的所有数字。 例如,对于X,我们得到100 + 80 = 180,对于Y 80 + 60 = 140。

 =SUMPRODUCT($A$1:$A$3*($B$1:$D$3="X")) 

您可以用任何单元格引用replace"X" 。 公式利用了X,Y等“在同一行内不重复”

您也可以使用完整的列来避免设置行号…但会慢一点:

 =SUMPRODUCT(A:A*(B:D="X")) 

方法1:如果您只有三列B:D ,请使用下面的3个SUMIFs (其中column F是您的总和标准)

 =SUMIF(B:B,F1,A:A)+SUMIF(C:C,F1,A:A)+SUMIF(D:D,F1,A:A) 

在这里输入图像描述

方法2:如果有更多的列,请使用column E – helper列中的以下公式,

 =B1&C1&D1 

此公式将列连接到单个string。 然后input公式得到如下的总和column H

 =SUMIF(E:E,"*"&G1&"*",A:A) 

在这里输入图像说明

你可以创buildhashmap。 如果名称已经存在,则遍历,然后为其添加值,否则使用该名称创build新条目并添加值。