用自动filter重新计算独特的排名?

因为我有很多项目的排名是1(或100%),所以我使用这个公式得到了一个独特的排名,如下图中的“过滤的唯一排名”所示:

=RANK(A2,$A$2:$A$1000)+COUNTIF($A$2:A2,A2)-1 

这是我在“正规排名”下的旧排名公式,基本上显示了很多排名在1:

 =RANK(A2,$A$2:$A$1000) 

在这里输入图像说明

这是我用来获得基于filter的排名的公式,但它不是唯一的:

 =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 

问题:根据上面的信息,有没有办法从自动filter获得唯一的排名? 以上公式的来源: http : //www.mrexcel.com/td0067.html

说数据是这样的:

未经过滤

B列填写了“标准”唯一序列等级的公式,所以B2包含:

 =RANK(A2,$A$2:$A$10)+COUNTIF($A$2:A2,A2)-1 

D2中我们input:

 =IF(SUBTOTAL(3,$B2:$B2)=0,"",A2) 

并抄下来。 帮助器D列与A列相似,除非该行被隐藏,则该值为空白。 在E2中我们input:

 =RANK(D2,$D$2:$D$10)+COUNTIF($D$2:D2,D2)-1 

并抄下来。

以下是应用filter的快照:

filterapplied

注意E栏产生一个简单的,独特的,连续的等级。

试试这个数组公式**

= INDEX(FREQUENCY(IF(小计(3,OFFSET($ A $ 2,ROW($ A $ 2:$ A $ 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)

问候

**数组公式不是以与“标准”公式相同的方式input的。 按住CTRL键和SHIFT键,而不是按下ENTER键,然后按ENTER键。 如果你做得对,你会注意到Excel在公式周围放置了大括号(尽pipe不要试图自己手动插入这些)。

不,您不能通过使用自动筛选器来更改传递给公式的值。 该公式仍将引用相同的计数和值,无论它们是否隐藏。

但是,您可以通过使用数据透视表filter实现此目的,因为它们通过更改其值来呈现单元格的内容。