如何仅对一列中具有另一列中唯一值的值求和?

如何仅对一列中具有另一列中唯一值的值求和?

下午好,这是我在 SU 上的第一篇帖子,但我经常使用该资源来帮助我解决各种疑问。

我还没有找到以下问题的答案:

在 excel for mac v15 中,我有一个大表,其中有一列我想求和。但是该列中有重复的值(原因我无法更改)。列 A 对于具有不同数据的每一行都有唯一的 ID。对于重复的行,ID 是重复的。示例如下:

A --------- B ------------ C  
ID --- COLOUR --- VALUE  
1 ----- Orange -------- 4  
2 ------Brown --------- 3  
2 ----- Red ------------ 3  
2 ----- Green --------- 3  
3 ----- Blue ----------- 8  
4 ----- Green --------- 2  
4 ----- Brown --------- 2  
5 ----- Purple --------- 6  
5 ----- Brown --------- 6  
5 ----- Red ------------ 6  
6 ----- Blue ----------- 2

因此,我尝试创建一个公式来对 C 列求和,但忽略 A 列中有重复 ID 号的行 - 示例中的答案为 (4+3+8+2+6+2) = 25

任何帮助我都会非常感激,如果您需要更多信息,请告诉我!谢谢。

编辑:感谢大家到目前为止的帮助,所有建议似乎都很有效。让事情稍微复杂一点:

表 2 现在我需要能够对 D 列求和,如果 E 列显示“有序”,而 B 列显示“小”,同时仍然像以前一样忽略重复项。因此,在这个例子中,答案将是 (4+8+6)=18。

表格中的数据来自数据转储,因此数据行数并不总是相同,表格中也并不总是存在每个文本选项。我应该首先提到这一点,但我认为一旦我知道如何做第一部分,我就可以对后一部分进行排序!

再次感谢您提供的帮助!非常感谢。

答案1

我们可以使用辅助列来避免数组公式。在D1进入1, 在D2进入:

=IF(COUNTIF($A$1:A1,A2)>0,0,1)

并复制下来。这会“标记”要添加的值。然后在另一个单元格中:

=SUMPRODUCT(C:C*D:D)

在此处输入图片描述

答案2

不需要额外的列,只需使用公式:

=SUMPRODUCT(N(A1:A11<>A2:A12),C2:C12)

请注意,它不是一个数组公式,只是一个简单的公式。

在此处输入图片描述

编辑

您可以按如下方式组合条件:

=SUMPRODUCT(N(A2:A25<>A1:A24)*(E1:E24="Ordered")*(B1:B24="Small"),D1:D24)

仍然是一个简单的公式。

在此处输入图片描述

編輯2

使用来自这个答案 要获取最后一行带有列号的数据A,可以使用这个怪物函数

=SUMPRODUCT(N(OFFSET($A$1,,,MATCH(99^99,$A:$A,1))<>OFFSET($A$2,,,MATCH(99^99,$A:$A,1)))*(OFFSET($E$1,,,MATCH(99^99,$A:$A,1))="Ordered")*(OFFSET($B$1,,,MATCH(99^99,$A:$A,1))="Small"),OFFSET($D$1,,,MATCH(99^99,$A:$A,1)))

它应该可以处理任意数量的行。

在此处输入图片描述

相关内容