对 Excel 365 中的数字(包括 NA())进行排名

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

假设我有一个数字列表,其中包括一些

NA()

在以前版本的 Excel 中,我使用了以下公式并且它有效(请注意,不是很优雅):

=IFERROR(MATCH(F8, AGGREGATE(15, 6, F$2:F$10, ROW(INDIRECT("1:"&COUNT(F$2:F$10)))), 0), "")

我在 Excel 365 中将其稍微更新为:

=IFERROR(MATCH(F2, AGGREGATE(15, 6, F$2:F$10, SEQUENCE(COUNT(F$2:F$10))), 0), "")

接下来将其完全重写为

LET
公式(
LET
使一切变得更好®):

=LET(
    values, F$2:F$10,
    ranks, SORT(FILTER(values, ISNUMBER(values)), 1, 1),
    IFERROR(MATCH(F2, ranks, 0), "")
)

最后一个版本可以压缩为:

=IFERROR(MATCH(F2, SORT(FILTER(F$2:F$10, ISNUMBER(F$2:F$10))), 0), "")

所有公式都按其应有的方式工作,但我不停地想我错过了一些东西,使公式更加紧凑和简短。 有什么想法吗?

enter image description here

excel excel-formula ranking excel-365
1个回答
0
投票

我认为

XMATCH()
SORT()
可能是最简单的一种。尝试-

=IFERROR(XMATCH(F2,SORT($F$2:$F$10)),"")

enter image description here

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