Google 电子表格数据透视查询中的总计

Pra*_*kar 5 pivot sum google-sheets

这里有一个示例Google 电子表格。在该电子表格的 Sheet2 中,我使用查询创建了一个摘要:

=Query(Sheet1!A1:E24, "Select A, Count(E) GROUP BY A Pivot C")
Run Code Online (Sandbox Code Playgroud)

但是我想对下一行的每个测量员计数和它的总计进行求和,就像第三张表中显示的数据透视表一样。是否可以使用查询本身计算总计?任何人都可以请帮忙。

小智 6

这是一个老问题,但我刚刚想通了。您可以使用 ={} 将多个查询产生的数组连接到一个函数中。此处描述了使用{} 创建数组:在 Google 表格中使用数组

最简单的设置方法是将每个部分分别进行,然后将它们重新组合成一个公式。

第一部分是您首先进行的查询。

=Query(Sheet1!A1:E24, "Select A, Count(E) GROUP BY A Pivot C")
Run Code Online (Sandbox Code Playgroud)

第二部分是总计栏。将此公式放在第一个查询结果右侧的列的顶部单元格中。

=Query(Sheet1!A1:E24, "Select Count(E) GROUP BY A label Count(E) 'Grand Total'")
Run Code Online (Sandbox Code Playgroud)

第三部分是底行总数。把它放在第一个查询结果下。无法删除数据透视表上的标题行,因此,转置非数据透视查询的结果。

=transpose(Query(Sheet1!A1:E24, "Select Count(E) GROUP BY C label Count(E) 'Grand Total'"))
Run Code Online (Sandbox Code Playgroud)

第 4 部分是右下角的最终 Total 单元格。标签的 '' 是删除任何标签,并将总数放在一个单元格中。

=Query(Sheet1!A1:E24, "Select Count(E) Label Count(E) ''")
Run Code Online (Sandbox Code Playgroud)

如果一切都如您所愿,现在您可以将其组合到一个公式中以替换原始查询并删除其他查询。全部包含在 {} 中,用 分隔列,用 ; 分隔行。

={Query(Sheet1!A1:E24, "Select A, Count(E) GROUP BY A Pivot C"),Query(Sheet1!A1:E24, "Select Count(E) GROUP BY A label Count(E) 'Total'");transpose(Query(Sheet1!A1:E24, "Select Count(E) GROUP BY C label Count(E) 'Total'")),Query(Sheet1!A1:E24, "Select Count(E) Label Count(E) ''")}
Run Code Online (Sandbox Code Playgroud)


edd*_*son 1

1/2 答案....总数在侧面,但不在底部

在工作表 1 中添加 Col F

Grand Total
=COUNTIF(A$2:A$24,A2)
=COUNTIF(A$2:A$24,A3)
Run Code Online (Sandbox Code Playgroud)

将您的查询更改为

=Query(Sheet1!A1:F24, "Select A, Count(B),F GROUP BY A, F pivot C ")
Run Code Online (Sandbox Code Playgroud)