谷歌电子表格查询:我可以删除列标题吗?

Posted

技术标签:

【中文标题】谷歌电子表格查询:我可以删除列标题吗?【英文标题】:Google SpreadSheet Query: Can I remove column header? 【发布时间】:2015-01-08 04:07:40 【问题描述】:

我正在我的谷歌电子表格中进行此查询:

=QUERY(H4:L35;"select sum(L) where H='First Week'"; -1)

但它会返回一个带有“sum”作为标题的小表格,并在其下方返回结果。我要的只是结果!我如何删除标题?可以吗?

【问题讨论】:

这似乎更直接:***.com/a/41797729/5316231 【参考方案1】:

试试这个:

=QUERY(H4:L35,"select sum(L) where H='First Week' label sum(L) ''")

希望有帮助!

【讨论】:

我刚刚在我的一张工作表中对此进行了测试,它确实从返回的结果中删除了标题;这应该被标记为正确答案。 :) 这很好,而且有效,但谁能解释为什么最后需要两个单引号?从语法的角度来看,这有什么作用? 单引号将总和标题替换为空格。希望能解释你的问题! 感谢您的回答!我需要对不止一列做同样的事情,但我做不到!我预计这会起作用: =QUERY(H4:L35, "select sum(L), sum(H) where H='First Week' label sum(L) '' label sum(H) ''") LABEL B 'Label1', C 'Label2' 用于多列【参考方案2】:

查看格式here。

例子:

=QUERY(B4:C38,
   "SELECT C, sum(B) where C!='' group by C label C 'Member', sum(B) 'Sum'"
)

【讨论】:

提供的示例不返回没有标题的结果。【参考方案3】:

=QUERY(QUERY(A1:D, "SELECT *", 1), "SELECT * OFFSET 1", 0)

外部查询:"SELECT * OFFSET 1" 不包括第一行(标题)。

内部查询明确指定一行标题(通过提供给QUERY 的第三个参数),而外部查询没有指定。

【讨论】:

解释一下? 为什么需要第二个QUERY? “0”参数不会删除标题,因此您可以在第一个 QUERY 上使用它,如下所示:QUERY('Form responses 3'!$A$2:$P$1017, "SELECT max(E),max(C), max(D) WHERE B='" & B14 & "' GROUP BY B LIMIT 1 ", 0) 我相信第二个查询中的OFFSET 1 将删除返回数据集的第一行,而不是第一行中的标题。 这个答案可能更冗长,但也更健壮,无需复制列聚合字符串即可使用。它甚至可以与pivot 一起使用,这不适用于此处的任何其他答案。 除非我弄错了,否则这实际上并不能解决原始发布者提供的具体挑战,即在使用 SUM 等聚合函数时删除由 QUERY 自动生成的标题。使用 SUM(或任何其他聚合函数)时,QUERY 会自动创建一个标题行,指定执行的聚合,例如“和”。即使您将 headers 设置为 0 并且即使您应用了 OFFSET 1 子句,它也会这样做。以下公式仍返回标题。 =QUERY(Sheet1!A:B,"SELECT A, SUM(B) GROUP BY A OFFSET 1",0) 接受的答案解决了这个挑战。【参考方案4】:

您可以省略所有标题,而不是使用'' 将列名标记为空白:

=QUERY(H4:L35,"select sum(L) where H='First Week'", 0)

【讨论】:

虽然接受的答案在技术上看起来更正确,但这看起来是解决问题的最简单方法并且更容易记住。除非我错过了什么,否则应该更喜欢这个答案 此答案不会将“总和”作为“标题行”删除。它确实告诉查询命令在被查询的数据中没有要考虑的标题行,但不会阻止查询将“意外标题”添加到结果表中。【参考方案5】:

我有一个返回前 3 名的查询。返回多行时,我无法让它工作。我最终只是用公式隐藏了行,现在只显示答案。

【讨论】:

【参考方案6】:
=INDEX(QUERY(H4:L35;"select sum(L) where H='First Week'"; -1),2,1)

这只是解析返回的数组并选择第一列中返回的第二条记录。

您也可以使用计算密集度较低的过滤器功能来执行此操作。

=SUM(FILTER(L4:L35, H4:H35 = "First Week"))

【讨论】:

【参考方案7】:

对于使用透视的查询,请尝试使用 INDEX 从透视列中删除标题。

=INDEX(QUERY('上课时间'!A2:C11, “选择总和(C) 其中 A = '"&A5&"' A组 枢轴 B"), 2)

从这个帖子得到答案: https://***.com/a/63468791/5424088

【讨论】:

以上是关于谷歌电子表格查询:我可以删除列标题吗?的主要内容,如果未能解决你的问题,请参考以下文章

Chrome 扩展写入谷歌电子表格 [关闭]

过滤谷歌电子表格api请求中的数据

如何使用查询将列数据解析为谷歌表格中的行

无法从谷歌电子表格中读取

如何在谷歌电子表格图中编辑图例标签?

使用 Google 电子表格在 Google 查询语言 (GQL) 中按名称而不是字母选择列?