咨询:如何在谷歌表格中按得分对筛选后可见数据生成排名
谷歌表格筛选后可见数据的排名实现方法
可以实现,以下是具体的公式和操作步骤:
核心公式(常规并列排名)
在F列的第一个数据行(比如F2)输入以下公式,根据你的实际数据范围调整E$2:E$100为E列的完整数据区间:
=SUMPRODUCT((SUBTOTAL(103,OFFSET(E$2,ROW(E$2:E$100)-ROW(E$2),0))=1)*(E$2:E$100>E2))+1
输入完成后下拉填充到所有需要生成排名的行。
公式解释
SUBTOTAL(103, OFFSET(E$2,ROW(E$2:E$100)-ROW(E$2),0))=1:SUBTOTAL的103参数代表忽略手动筛选隐藏行的COUNTA计算,OFFSET函数逐个定位E列的每一行,返回1表示该行是筛选后的可见行,0表示被隐藏。E$2:E$100>E2:统计所有可见行中得分高于当前行E2的数量。- 最后
+1是为了得到当前行的排名(比当前得分高的行数+1即为当前排名)。
密集排名(并列后连续排名)
如果需要并列得分对应相同排名,且后续排名不跳过(比如两个第2名后直接是第3名),可以使用以下公式:
=SUMPRODUCT((SUBTOTAL(103,OFFSET(E$2,ROW(E$2:E$100)-ROW(E$2),0))=1)*(UNIQUE(FILTER(E$2:E$100,SUBTOTAL(103,OFFSET(E$2,ROW(E$2:E$100)-ROW(E$2),0))=1))>E2))+1
注意事项
- 公式仅对手动筛选隐藏的行生效,若使用过滤视图隐藏行,
SUBTOTAL同样可以识别并忽略。 - 确保公式中的数据范围覆盖所有需要参与排名的行,避免遗漏或超出范围导致计算错误。
内容的提问来源于stack exchange,提问作者Petr
相关产品推荐
相关产品推荐

