如何在Google Spreadsheet中对数据进行分组?


96

我在Google电子表格中有下表:

Name | Value
A    | 10
B    | 100
A    | 20
B    | 200
C    | 1000

如何基于查询创建另一个表:

select name, sum(value), count(value) from table group by name

所以看起来像这样:

Name | SUM   | COUNT
A    | 30    | 2
B    | 300   | 2
C    | 1000  | 1

Answers:


109

通过使用该QUERY功能,您可以实现自己的目标。

=QUERY(Data!A1:B6;"select A, sum(B), count(B) group by A")

屏幕截图

在此处输入图片说明

使用其他功能,也可以实现。

add this formula in A2:
=UNIQUE(Data!A2:A)

add the following formulas in B2 and C2 and copy down to B4 and C4 respectivey 
=SUM(FILTER(Data!$B$2:B;Data!$A$2:A=A2))
=COUNTA(FILTER(Data!$B$2:B;Data!$A$2:A=A2))

我为您制作了一个示例文件:QUERY vs. FUNCTIONS




42

您可以使用数据透视表对Google Spreadsheets中的数据进行分组。


为什么是-1?数据透视表绝对可以做到!googledocs.blogspot.com/2011/05/...
Mehper C. Palavuzlar

因为问题是关于使用SQL的问题
Jacob Jan Tuinstra

11
他想创建另一个在问题中明确定义的表,数据透视表确实创建了该表。这是一个有效的答案。
Mehper C. Palavuzlar

2
数据透视表可能应该在问题注释部分中提及。它绝对是有用且相关的,但不能精确地回答问题-仅因为问题专门与查询有关,而QUERY函数才是答案。
戴夫

4
即使问题要求“ QUERY”,也最好提及其他答案,因为OP可能没有考虑过这些可能性,或者它们可能比OP提到的方法更具优势
Vaddadi Kartick

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.