下午好,这是我在 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
答案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)))
它应该可以处理任意数量的行。