因为我有很多项目排名为1(或100%),所以我使用此公式获得一个独特的排名,如下图所示,在“过滤的唯一排名”下:
=RANK(A2,$A$2:$A$1000)+COUNTIF($A$2:A2,A2)-1
这是我在“常规排名”下的旧排名公式,基本上显示很多项目排名为1:
=RANK(A2,$A$2:$A$1000)
这是我用来根据过滤器获得排名的公式,但它不是唯一的:
=SUMPRODUCT(SUBTOTAL(3,OFFSET($A$2:$A$1000,ROW($A$2:$A$1000)-MIN(ROW($A$2:$A$1000)),0,1)),--(A2<$A$2:$A$1000))+1
问题:根据上面的信息,有没有办法从自动过滤器获得唯一的排名? 上述公式的来源:http://www.mrexcel.com/td0067.html
答案 0 :(得分:2)
说数据如下:
列 B 填充了“标准”唯一顺序排名的公式,因此 B2 包含:
=RANK(A2,$A$2:$A$10)+COUNTIF($A$2:A2,A2)-1
在 D2 中输入:
=IF(SUBTOTAL(3,$B2:$B2)=0,"",A2)
并复制下来。帮助 D 列类似于 A 列,除非该行被隐藏,该值为空。在 E2 中输入:
=RANK(D2,$D$2:$D$10)+COUNTIF($D$2:D2,D2)-1
并复制下来。
以下是应用过滤器的快照:
注意列 E 会产生一个简单,独特的顺序排名。
答案 1 :(得分:1)
试试这个数组公式** :
= INDEX(FREQUENCY(IF(小计(3,OFFSET($ A $ 2,ROW($ A $ 2:$ 10 $)-MIN(ROW($ A $ 2:$ A $ 10)),,,)), $ A $ 2:$ A $ 10),A2),2)+ INDEX(FREQUENCY(IF(小计(3,OFFSET($ A $ 2,ROW($ A $ 2:A2)-MIN(ROW($ A $ 2:A2) ),,,)),$ A $ 2:A2),A2- {0.00001,0}),2)
此致
**数组公式的输入方式与&#39;标准&#39;相同。公式。您只需按住CTRL和SHIFT键,然后按ENTER键,而不是按ENTER键。如果您已正确完成,您会注意到Excel在公式周围放置了大括号{}(尽管不要尝试自己手动插入这些括号)。
答案 2 :(得分:0)
不,您无法使用自动过滤器更改传递给公式的值。该公式仍将引用相同的计数和值,无论它们是否隐藏。
但是,您可以使用数据透视表过滤器来实现此目的,因为它们通过更改值来呈现单元格的内容。