您如何将ArrayFormula与数组一起使用(聚合之后)?

时间:2020-07-31 10:07:51

标签: arrays sorting google-sheets google-sheets-formula transpose

在我的示例中:

https://docs.google.com/spreadsheets/d/1QQNTw_r9-q-FqVNwUoYklup73niZCFyO0VDUYImP5fo/edit?usp=sharing

我正在使用Google Forms作为eBay克隆来出售稀有物品。每个投标从表单输出到“数据”工作表,然后在“已处理”工作表中设置ArrayFormulas。我的想法是要处理出价,以便我们过滤除出价最高的项目以外的所有内容。所有数据都应自动更新,因此为什么要使用ArrayFormulas。

我的策略是,在A列中,我首先过滤所有唯一项(=unique(filter(Data!A2:A,Data!A2:A<>""))),最后得到:

  • 侏罗纪公园6角全息图套装
  • 熊公主TY豆豆宝宝
  • Holographic第一版Ed Charizard

但是,然后在B列中,我们必须找到与该唯一商品相对应的最高出价,例如:

=IF(ISBLANK(A2),,ArrayFormula(MAX(IF(Data!A2:A=A2,Data!B2:B))))

但是,我不想让A2是单个单元格(A2),而是一个数组(A2:A),这样就不必手动将其向下复制到行中。同样,我也希望D和E列也自动显示。有什么办法可以做到这一点?

3 个答案:

答案 0 :(得分:2)

不确定是否比以前发布的答案更容易,但是如果将来发现此线程,我认为这是解决这类问题的一种稍微简单的方法:

在单元格A1中的新标签上尝试此操作:

=FILTER(Data!A:D,COUNTIFS(Data!A:A,Data!A:A,Data!B:B,">"&Data!B:B)=0)

答案 1 :(得分:1)

我进行了一些研究,找到了与您所寻找的答案非常相似的答案。在稍微重新排列了公式以使其适合您的工作表之后,我能够使它起作用: =ArrayFormula(vlookup(query({row(Data!A2:A),sort(Data!A2:C)},"select max(Col1) where Col2 <> '' group by Col2 label max(Col1)''",0),{row(Data!A2:A),sort(Data!A2:D)},{2,3,4,5},0))

Sheet

此公式自动填充产品名称,最高出价,用户名和时间戳。我进行了一些测试,将自己的随机名称和值添加到数据表中,该公式效果很好。


参考:https://webapps.stackexchange.com/a/75637

答案 2 :(得分:1)

使用:

={A1:D1; SORTN(SORT(A2:D, 1, , 2, ), 9^9, 2, 1, )}

enter image description here

翻译:

{A1:D1} - headers
SORT(A2:D, 1, , 2, ) - sort 1st column then 2nd column descending
9^9 - output all possible rows
2 - use 2nd mode of sortn which will group selected column
1 - selected column to be marged based on unique values