【问题标题】:Google Query Language - Adding column on a group ByGoogle Query Language - 在组中添加列
【发布时间】:2020-03-08 15:12:42
【问题描述】:

对不起,这是我的第一篇文章。我试图像其他人一样制作一张漂亮的桌子,但我在格式上遇到了困难 请考虑以下电子表格:

表格图片

谷歌电子表格:https://docs.google.com/spreadsheets/d/1t9Jvn4cJ4PGdJrEg7oiC6UsY2WaJdSw-d15IWpp3lUg/edit#gid=0

我想得到的是每件产品的低价和最低价卖家: 我在哪里

=query(datarange,select col(A),min(col2) group by col(A),-1)

我不明白如何添加最低卖家,因为我确实添加了它,然后我需要按它分组。通过阅读另一篇文章,似乎 arrayformula 是获得的方式,但我不知道应该如何进行......

【问题讨论】:

    标签: google-sheets google-sheets-formula array-formulas google-sheets-query gs-vlookup


    【解决方案1】:

    尝试:

    =ARRAYFORMULA({"seller"; IFNA(VLOOKUP(F3:F&G3:G, {A:A&B:B, C:C}, 2, 0))})
    


    或在 F2 中:

    =ARRAYFORMULA({QUERY(A1:C, 
     "select A,min(B) where C is not null group by A", 1), 
     ARRAY_CONSTRAIN({"seller"; IFNA(VLOOKUP(TRANSPOSE(QUERY(TRANSPOSE(QUERY(QUERY(A2:C,
     "select A,min(B) where C is not null group by A", 0), 
     "offset 1", 0)),,999^99)), {A2:A&" "&B2:B, C2:C}, 2, 0))}, COUNTA(QUERY(A1:C, 
     "select A,min(B) where C is not null group by A", 1)), 1)})
    

    【讨论】:

      【解决方案2】:

      我喜欢使用 sort 和 sortn 来做这些:

      =sortn(sort(filter(A2:C,A2:A<>""),1,true,2,true),999,2,1,true)
      

      这个想法是,您首先使用 sort 进行排序,使每个产品的最低价格首先出现,然后使用 sortn 删除重复项,只留下每个产品价格最低的行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多