在Excel中排名,当我想要顶部n我得到顶部n + 1(或n + x)

我在Excel中有一个列表,我想select更高的3个结果,只有3个。在这个例子中,条件格式化似乎很容易:

1 | 2 | 3 | 4 | 5 | 6 44 | 78 | 98 | 45 | 52 | 98 

第二,第三和第六号将突出显示。

问题出现在这样的事情上:

 1 | 2 | 3 | 4 | 5 | 6 44 | 78 | 78 | 45 | 87 | 98 

Excel将突出显示第二,第三,第五和第六个数字,因为前两个(sorting列表中的第三个)是相等的。 我如何让Excel只select其中一个?

(该解决scheme不需要使用条件格式,可以使用Excel上提供的任何工具,从公式到VB,但简单性是可取的)。

对于你的条件格式,我们需要打破这个关系。 要做到这一点的一种方法是统计一个值在先前的比较中出现的次数。

这将改变你的条件公式

 =(RANK(A2,$A$2:$F$2)+COUNTIF($A$2:A$2,A2)-1)<=3 

请注意,在某些情况下使用绝对位置,在其他情况下使用绝对位置。

分解:
排名RANK(A2,$A$2:$F$2) – 排名公式。 你知道这个,现在你正在使用它
COUNTIF($A$2:A$2,A2) – 计算值出现的次数 – 请注意,引用在冒号后没有A前面的$,这是为了确保范围变大按行处理公式(第一计数:A2:A2,第二计数:A2:B2等)
-1 – 因为计数将总是匹配一个数字(本身)

所以,对于你的第二个例子,

 44 78 78 45 87 98 

新的等级是

 6 3 4 5 2 1 

和公式转换为

= RANK(A2,$ A $ 2:$ F $ 2)+ COUNTIF($ A $ 2:A $ 2,A2)-1
= RANK(B2,$ A $ 2:$ F $ 2)+ COUNTIF($ A $ 2:B $ 2,B2)-1-
= RANK(C2,$ A $ 2:$ F $ 2)+ COUNTIF($ A $ 2:C $ 2,C2)-1-
= RANK(D2,$ A $ 2:$ F $ 2)+ COUNTIF($ A $ 2:d $ 2,D2)-1-
= RANK(E2,$ A $ 2:$ F $ 2)+ COUNTIF($ A $ 2:E $ 2 E2)-1-
= RANK(F2,$ A $ 2:$ F $ 2)+ COUNTIF($ A $ 2:F $ 2,F2)-1-

为条件格式

我想不出一个细胞的解决scheme,但这是我的帮助列:

Rank_Row列,检查Input是否重复,如果是则添加行号的小数部分。 C2=IF(COUNTIF($B$2:$B$7,B2)>1,RANK(B2,$B$2:$B$7)+ROW()/100,RANK(B2,$B$2:$B$7))

Filter列使用简单的RANK按升序排列,您可以使用此列过滤顶部3. D2=RANK(C2,$C$2:$C$7,1)

向下拖动这两个公式复制下来。

在这里输入图像说明