具有相同名称的值的总和


45

我有一个包含大量名称和金额的Google表格。许多名称是重复的。例如:

John  | 10
Bill  | 2
Susan | 3
Frank | 4
Sally | 10
John  | 2
Susan | 2
John  | 3

是否有任何自动化的方式来组合所有值,所以我得到一个没有重复名称的列表,并且每个人的条目的总和都没有?

例如:

John  | 15
Bill  | 2
Susan | 5
Sally | 10

Answers:


51

假设名称在A1:A8中,金额在B1:B8中,首先我们需要在D1中使用唯一的名称列表:

=UNIQUE(A1:A8)

然后在E1中使用条件和:

=SUMIF(A$1:A$8,D1,B$1:B$8)

$在单元格编号前注明前缀。当我们向下复制单元格内容时,这将保持相同的范围(选择单元格E1:E8并按Ctrl+ D)。


2
大!只是想补充一点,在某些语言环境中,您需要用半冒号替换逗号,即= SUMIF(A $ 1:A $ 8; D1; B $ 1:B $ 8)。
JLund

感谢您的回答。已投票。如何按数量降序排序?在此示例中,John首先出现,然后是Sally,Susan,最后是Bill。
Vaddadi Kartick '16

简单:) = SORT(A2:B92; FALSE)
Zmogas

2
为我不工作
Gilbou'7

23

如果使用查询功能,则不必担心列表会增加,也不必担心将求和公式复制得不够充分。

如果名称在A:A中,金额在B:B中,则在D1中输入:

=QUERY(A:B, "select A, sum(B) group by A")

有一个更完整的答案在这里,用截图均匀。


1
如果您有标题行怎么办?那么,您是否需要知道特定的开始和结束行索引?啊哈,看来我可以指定标题行的数量了... support.google.com/docs/answer/3093343?hl=zh-CN
xix

我认为这是最干净的方法。请注意,如果您不想查询整个电子表格(例如,如果下面有不相关的数据),则可以指定A2:B28之类的范围。此外,我喜欢使用CONCATENATE函数合并我的多个列电子表格分成一行进行分组-例如“姓氏”,“名字”。
埃文·多诺万

7

我也将对此进行介绍:我更喜欢使用过滤器功能。使用列选择,允许表在添加“新”数据时自动增长:

FILTER(B:B;A:A=D2)

如果您有标题,则可以相应地进行更改:

FILTER($B$2:B;$A$2:A=D2)

进行子序列求和很容易:

SUM(FILTER($B$2:B;$A$2:A=D2))

请参阅示例:我用示例准备的文件



1

使用以下公式!

标头: =UNIQUE(A:A)

值: =SUMIF(A:A,UNIQUE(A:A),B:B)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.