You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets中用ARRAYFORMULA实现基于列优先级的无重复排名

Google Sheets 无重复排名(同值按A列优先级)解决方案

问题分析

原公式仅返回首个排名结果,核心问题在于RANK.EQ未做数组化迭代处理,且未加入B列值相同时的A列优先级判定,无法实现无重复排名。

原公式问题点:

={"POS";ARRAYFORMULA(IF($B2$B:$B<>"";RANK.EQ(B3;B3:B42;0)))}
  • RANK.EQ(B3;B3:B42;0)固定引用B3单元格,导致所有行复用同一排名结果
  • 未关联A列逻辑,无法区分B列值相同的情况

解决方案公式

使用COUNTIFS结合数组公式实现无重复排名,当B列值相同时,A列值更小的单元格排名更靠前:

={"POS";ARRAYFORMULA(IF(B2:B=""; ""; COUNTIFS(B:B; ">"&B2:B) + COUNTIFS(B:B; B2:B; A:A; "<="&A:A)))}

公式逻辑说明

  • COUNTIFS(B:B; ">"&B2:B):统计B列中大于当前单元格值的总行数,作为排名的基础偏移值
  • COUNTIFS(B:B; B2:B; A:A; "<="&A:A):统计B列值与当前相同,且A列值小于等于当前单元格A值的行数,确保同B值时A列优先级生效,实现无重复排名
  • ARRAYFORMULA:将公式批量应用到整列,无需手动下拉复制
  • IF(B2:B=""; ""; ...):仅对B列非空单元格计算排名,空单元格保持空白

内容的提问来源于stack exchange,提问作者alsanmph

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 12:10:20