在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)
向下拖动这两个公式复制下来。