代码之家  ›  专栏  ›  技术社区  ›  Lyuboslav Alexandrov

如何在=QUERY()中选择2列以上

  •  -1
  • Lyuboslav Alexandrov  · 技术社区  · 7 年前

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

    请澄清,在Sheet1中,我有一些类似的行,它们在A列中不同,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")

    它给我错误#值!无法将查询字符串解析为函数query parameter 2 ADD\u COL\u to\u GROUP\u BY\u OR\u AGG:C,。。。

    2 回复  |  直到 7 年前
        1
  •  1
  •   JPV    7 年前

    其他列需要在“分组依据”中。看看这是否有效

    =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")
    
        2
  •  0
  •   Lyuboslav Alexandrov    7 年前

    我使用了这个函数 =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列的单元格中搜索匹配项,给出当前列的结果,所有这些都将其LEF复制到整个列中。

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