【问题标题】:Sheets Query No Sort表格查询无排序
【发布时间】:2020-05-14 06:29:36
【问题描述】:

有没有办法让查询输出未排序?默认情况下,它对数据进行排序。

我尝试添加一个辅助列,将行号添加到查询输入中,但它不是“选择”的一部分,如下所示:

=QUERY({Data!A1:C24,ArrayFormula(if(Data!A1:A24<>"",row(Data!A1:A24),""))},"Select Col1, Sum(Col2) group by Col1 pivot Col3 order by Col4")

这是一个样本表:https://docs.google.com/spreadsheets/d/1bMdCQKeWKqXI2Mmwpu__lHsGO2OttbJArWusBS8BMyQ/edit?usp=sharing

所需的输出是查询应首先显示 Apple、Orange、Banana 等的点总和。

【问题讨论】:

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


    【解决方案1】:

    尝试:

    =ARRAYFORMULA(IFNA(VLOOKUP(UNIQUE(Data!A1:A), 
     TRANSPOSE(QUERY(TRANSPOSE(QUERY({Data!A1:C},
     "select Col1,sum(Col2)
      group by Col1
      pivot Col3")), 
     "order by Col1 desc", 1)), 
     {TRANSPOSE(ROW(INDIRECT("A1:A"&COUNTA(UNIQUE(Data!C2:C))+1)))}, 0)))
    

    【讨论】:

      【解决方案2】:

      另一种方式:

      =sort(QUERY(Data!A1:C24,"Select A, Sum(B) group by A pivot C ",1),
      match(query(A1:A24,"select min(A) group by A label min(A) 'Name'",1),A1:A24,0),1)
      

      或者更短一点:

      =sort(QUERY(Data!A1:C24,"Select A, Sum(B) group by A pivot C ",1),
      match({A1;sortn(A2:A24,999,2)},A1:A24,0),1)
      

      【讨论】:

      • 您能解释一下这是如何工作的吗?匹配函数是否只是按顺序返回数字?为什么=sort(QUERY(Data!A1:C24,"Select A, Sum(B) group by A pivot C ",1), SEQUENCE(COUNTUNIQUE(Data!A1:A24)),1) 不起作用?
      • 您正在尝试查找水果名称最初出现在哪一行 - 所以 Apple、Banana、Orange、Pear、Strawberry 会给您 2、4、3、5、6,然后您对这些行进行排序的数据透视表(按字母顺序显示)。仅使用数字序列不会颠倒 Banana 和 Orange。
      猜你喜欢
      • 1970-01-01
      • 2020-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-07
      • 2018-10-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多