在 Google 表格中的大型数据集数组中按行对数据进行排名

问题描述 投票:0回答:1

我有大量数据,需要对每一行的值进行排名,但我很困惑。对于给定的行,我可以进行简单的排名计算(并使用数组公式将其扩展到该行),但我似乎无法弄清楚如何自动将其扩展到数组而不将该公式下拉到每一行.

因此,例如对于这个数据集:

A B C D
$5000 $8000 2000 美元 $3000
10000 美元 $3000 $20000 $4000
$7,000 3,000 美元 18,000 美元 1,000 美元

我可以使用 =ARRAYFORMULA(rank(A1:D1,$A$1:$D$1)) 对第一行进行排名,这给了我: |A|B|C|D| |:----|:----|:----|:----| |2|1|4|3|

但是,我希望公式自动向下扩展(我有数百行,并且定期添加新数据)以获得每行的排名,如下所示:

A B C D
2 1 4 3
2 4 1 3
2 3 1 4

我尝试过 byrow 和各种其他功能,但似乎无法让它正确扩展。大家有什么简单的想法吗?

提前感谢您的所有投入和帮助:)

arrays google-sheets array-formulas rank
1个回答
0
投票

您可以尝试:

=byrow(A2:D,lambda(Σ,if(counta(Σ)=0,,map(Σ,lambda(Λ,rank(Λ,Σ))))))

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.