这是一个老问题,但我刚刚想通了。您可以使用 ={} 将多个查询产生的数组连接到一个函数中。此处描述了使用 {} 创建数组:Using arrrays in Google Sheets
最简单的设置方法是分别完成每个部分,然后将它们重新组合成一个公式。
第一部分是您首先执行的查询。
=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) 'Grand Total'")
第三部分是最后一行的总数。把它放在第一个查询结果下。无法删除枢轴上的标题行,因此转置非枢轴查询的结果。
=transpose(Query(Sheet1!A1:E24, "Select Count(E) GROUP BY C label Count(E) 'Grand Total'"))
第四部分是右下角的最后一个总单元格。标签的 '' 是删除任何标签,只将总数放在一个单元格中。
=Query(Sheet1!A1:E24, "Select Count(E) Label Count(E) ''")
如果一切看起来都如您所愿,现在您将其组合成一个公式以替换原始查询并删除其他查询。全部包含在 {} 中,用 ; 分隔列,用 ; 分隔行。
={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) ''")}