我在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


#1 楼

通过使用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:B;Data!$A:A=A2))
=COUNTA(FILTER(Data!$B:B;Data!$A:A=A2))


示例

我为您制作了一个示例文件:QUERY与功能

评论


developers.google.com/chart/interactive/docs/…

–猫王Ciotti
16年8月31日在14:48

Google查询工作表文档

– lindes
17-4-24在2:13

谢谢!我一直在寻找有关数据透视表的信息(我应该了解更多信息),但是QUERY功能非常出色。我什至不知道它存在于Google表格中。

– jrdevdba
6月16日1:33

#2 楼

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

评论


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

– Mehper C. Palavuzlar
2012年12月1日上午10:50

因为问题在于使用SQL进行操作

–雅各布·扬·图恩斯特拉(Jacob Jan Tuinstra)
2012年12月1日上午11:13

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

– Mehper C. Palavuzlar
2012年12月1日下午13:37

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

–戴夫
2014年12月21日在18:01

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

– Kartick Vaddadi
16 Mar 6 '16 at 4:44

#3 楼

为什么不使用数据透视表?
与编写自定义公式相比,它给您更多的选择和控件。
控件实时添加列,行,值,过滤器



评论


图像的答案很不错,但是为什么不编辑上一个答案并仅添加图像呢?

–vinnief
1月10日11:37