如何使用RANK函数计算跨多个工作表指定数值的排名
RANK函数跨多工作表单元格排名的实现方案
你原写法里直接用括号包裹多表单元格的语法无法被RANK函数识别为有效引用数组,可按你的Excel版本选择对应的实现方式:
Excel 365/2021及以上版本(支持动态数组)
直接用CHOOSE函数构造多值数组传入RANK的第二参数即可:
=RANK(sheet!A1,CHOOSE({1,2,3},sheet!A1,sheet2!A1,sheet3!A1),0)
其中{1,2,3}为索引数组,数量要和你需要比较的单元格数量一致,有N个比较单元格就写{1,2,...,N}即可。
Excel 2019及更早版本
方法1:数组公式
输入完成后需要按Ctrl+Shift+Enter组合键触发数组计算才能生效:
=RANK(sheet!A1,N(INDIRECT({"sheet!A1","sheet2!A1","sheet3!A1"})),0)
方法2:辅助区域方案(兼容性最高)
- 在当前工作表找一块空白区域,比如B1:B3,分别填入三个表的A1引用:
- B1输入
=sheet!A1 - B2输入
=sheet2!A1 - B3输入
=sheet3!A1
- B1输入
- 排名公式直接引用辅助区域即可:
=RANK(sheet!A1,B1:B3,0)
如果后续需要新增参与排名的工作表,只需要对应扩充数组里的单元格地址、或者在辅助区域新增行即可
内容的提问来源于stack exchange,提问作者Rob
相关产品推荐
相关产品推荐

