【问题标题】:Adding a SUM row and SUM column to a query in Google Sheets在 Google 表格中的查询中添加 SUM 行和 SUM 列
【发布时间】:2019-08-26 01:54:06
【问题描述】:

我已使用QUERY 从时间表中提取数据(请参阅代码)。我想添加每行和每列的总数,即用每列总数的总和公式替换“2”、“3”、“4”……。并以某种方式为每行的总数添加一行代码。我已将链接添加到电子表格的副本...工作表小时摘要。 https://docs.google.com/spreadsheets/d/1czL8ttM-0Z7wPInkzOTQA8w0B24TiqC9OP-2rFjD2Dc/edit?usp=sharing

我试图从源数据集中添加一个QUERY 和一个WHERE 子句。除了我不清楚在这种情况下要过滤什么。我是新手,所以还没有完全掌握所有语法。不知何故,我似乎无法弄清楚这个问题的最后一站。感谢您的帮助。

={query(query(formData, "select E, C, sum(H) where C != '' group by E, C", 1), "select Col1, Sum(Col3) group by Col1 Pivot Col2 label Col1'Month'");{"Total","2","3","4","5","6","7","8","9","10","11","12"}}

【问题讨论】:

  • 对不起,我已经更改了设置。
  • @player0 当然,设置现在设置为编辑.. 是否有额外的复制设置?让我快速在工作表中四处点击。
  • @player0 我正在寻找更改该设置的位置.. 等一下...
  • @player0 我想我已经找到它并关闭了限制。

标签: google-sheets


【解决方案1】:
={{QUERY(QUERY(formData, 
  "select E, C, sum(H) 
   where C is not null 
   group by E, C", 1), 
  "select Col1, sum(Col3) 
   group by Col1 
   pivot Col2 
   label Col1'Month'");
 {QUERY(QUERY(QUERY(QUERY(formData, 
  "select E, C, sum(H) 
   where C is not null 
   group by E, C", 1), 
  "select Col1, sum(Col3) 
   group by Col1 
   pivot Col2 label Col1''"),
  "select 'x',Col2,Col3,Col4,Col5,Col6,Col7,Col8,Col9,Col10,Col11,Col12"),
  "select 'Total',sum(Col2),sum(Col3),sum(Col4),sum(Col5),sum(Col6),sum(Col7),sum(Col8),sum(Col9),sum(Col10),sum(Col11),sum(Col12) 
   group by Col1 
   label 'Total''',sum(Col2)'',sum(Col3)'',sum(Col4)'',sum(Col5)'',sum(Col6)'',sum(Col7)'',sum(Col8)'',sum(Col9)'',sum(Col10)'',sum(Col11)'',sum(Col12)''")}},
 ARRAYFORMULA(QUERY(VALUE({QUERY(QUERY(formData, 
  "select E, C, sum(H) 
   where C is not null 
   group by E, C", 1), 
  "select Col1, sum(Col3) 
   group by Col1 
   pivot Col2 
   label Col1'Month'");
 {QUERY(QUERY(QUERY(QUERY(formData, 
  "select E, C, sum(H) 
   where C is not null 
   group by E, C", 1), 
  "select Col1, sum(Col3) 
   group by Col1 
   pivot Col2 label Col1''"),
  "select 'x',Col2,Col3,Col4,Col5,Col6,Col7,Col8,Col9,Col10,Col11,Col12"),
  "select 'Total',sum(Col2),sum(Col3),sum(Col4),sum(Col5),sum(Col6),sum(Col7),sum(Col8),sum(Col9),sum(Col10),sum(Col11),sum(Col12) 
   group by Col1 
   label 'Total''',sum(Col2)'',sum(Col3)'',sum(Col4)'',sum(Col5)'',sum(Col6)'',sum(Col7)'',sum(Col8)'',sum(Col9)'',sum(Col10)'',sum(Col11)'',sum(Col12)''")}}),
  "select Col2+Col3+Col4+Col5+Col6+Col7+Col8+Col9+Col10+Col11+Col12
   label Col2+Col3+Col4+Col5+Col6+Col7+Col8+Col9+Col10+Col11+Col12'Total'"))}

【讨论】:

  • 谢谢!感人的。我也想学这么快。我能问一下你学习这件事花了多长时间吗?只是练习还是你也学习过任何书籍/博客?我真的很感谢你的帮助。明天我将逐行浏览你的代码。谢谢! ?
  • 不超过 2 个月。没有书,没有指南,没有博客,没有练习……我只是打开每一个问题的表格,尝试不同的东西,直到我破解它。
【解决方案2】:
={QUERY(QUERY(formData, 
  "select E, C, sum(H) 
   where C != '' 
   group by E, C", 1), 
  "select Col1, sum(Col3) 
   group by Col1 
   pivot Col2 
   label Col1'Month'");
 {QUERY(QUERY(QUERY(QUERY(formData, 
  "select E, C, sum(H) 
   where C != '' 
   group by E, C", 1), 
  "select Col1, sum(Col3) 
   group by Col1 
   pivot Col2 label Col1''"),
  "select 'x',Col2,Col3,Col4,Col5,Col6,Col7,Col8,Col9,Col10,Col11,Col12"),
  "select 'Total',sum(Col2),sum(Col3),sum(Col4),sum(Col5),sum(Col6),sum(Col7),sum(Col8),sum(Col9),sum(Col10),sum(Col11),sum(Col12) 
   group by Col1 
   label 'Total''',sum(Col2)'',sum(Col3)'',sum(Col4)'',sum(Col5)'',sum(Col6)'',sum(Col7)'',sum(Col8)'',sum(Col9)'',sum(Col10)'',sum(Col11)'',sum(Col12)''")}}

【讨论】:

  • 酷!我想我确实理解这个补充。让我消化一下。这不会水平加起来(行),对吧?它增加了列。行的基本原理是否相似,但使用“,”并添加第三个数组?我仍然需要使这个动态,对吧? IE。扩大范围并过滤掉空行。谢谢!
  • 是的,它将每一列相加。它已经是动态的。你不需要对它做任何事情
  • 检查样本表中的 G 列。 5×8=40
  • 是的,我当然可以看到它是动态的。我将处理每一行,并尝试遵循相同的理由来总结行。谢谢。
  • 你也想加每一行的总和吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-12
  • 1970-01-01
  • 1970-01-01
  • 2016-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多