假设我有一个数字列表,其中包括一些
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), "")
所有公式都按其应有的方式工作,但我不停地想我错过了一些东西,使公式更加紧凑和简短。 有什么想法吗?