【问题标题】: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”作为标题的小表格,并在其下方返回结果。我要的只是结果!我如何删除标题?可以吗?

【问题讨论】:

标签: google-sheets formulas google-sheets-query google-query-language


【解决方案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://stackoverflow.com/a/63468791/5424088

      【讨论】:

        猜你喜欢
        • 2019-08-02
        • 2016-05-18
        • 2015-10-15
        • 1970-01-01
        • 1970-01-01
        • 2017-06-07
        • 2019-05-20
        • 1970-01-01
        • 2022-12-31
        相关资源
        最近更新 更多