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

How do you use ArrayFormula with arrays (after aggregation)?

在我的例子中:

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<>""))),最后得到:

但是,然后在 B 列中,我们必须找到对应于该独特项目的最高出价,例如:

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

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

我做了一些研究并找到了与您正在寻找的答案非常相似的答案。在后 运行 稍微调整公式以匹配您的 sheet 之后,我能够让它工作: =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))

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


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

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

在单元格 A1 中的新选项卡上尝试此操作:

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

使用:

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

翻译:

{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