【问题标题】:How to select more than 2 columns in =QUERY()如何在 =QUERY() 中选择超过 2 列
【发布时间】:2018-05-27 05:16:47
【问题描述】:

我试图使用查询将数据从 Sheet1 复制到 Sheet2。但我想选择 MAX(A) 和所有其他存在数据的列(B、C、D...等)并按 B 分组。

То 澄清一下,在 Sheet1 中,我有一些相似的行,它们在 col.A 中有所不同,其中包含时间戳和其他一些列。我只想从每组相似记录中获取最新记录。

所以我的查询是

=QUERY('Sheet1'!A3:S; "select MAX(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S group by B")

它给了我错误#Value!无法将查询字符串解析为 FUNCTION 查询参数 2 ADD_COL_TO_GROUP_BY_OR_AGG:C,...

【问题讨论】:

    标签: google-sheets timestamp google-apps google-sheets-query excelquery


    【解决方案1】:

    我使用此函数 =QUERY('Sheet1'!$A$1:S;"select MAX(A) group by B label MAX(A) '' ";2) 填充 Sheet2 中的第一列,然后为每一列填充此函数 =ArrayFormula(LOOKUP($A$3:$A;'Sheet1'!$A$3:$A;'Имот'!B3:B))

    基本上,第二个函数从同一个表中 A 列中的单元格与第一个表中 A 列中的一个单元格搜索匹配,给出当前列的结果,所有这些都在整个列中复制其自身。

    之后,我为每一列手动复制了公式。我的问题已经解决了。

    【讨论】:

      【解决方案2】:

      其他列需要在 'group by' 中。看看这是否有效

      =QUERY('Sheet1'!A2:S, "select MAX(A),B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S group by B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S")
      

      【讨论】:

      • 是的,但是现在它只是复制整个表数据并且没有应用过滤器,因为我在其他列中也有差异。我只想按 A 对它们进行分组。
      • 通过查询,您不能选择所有这些列,然后只能按 B 分组。也许您必须使用另一种方法。也许使用 filter() 代替?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-28
      • 2016-03-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多