1

我在 excel 中有一个列表,我希望它选择较高的 3 个结果,并且只有 3 个。在此示例中使用条件格式似乎很容易:

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

其中第 2、3 和 6 个数字将突出显示。

问题出现如下:

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

Excel 将突出显示第 2、第 3、第 5 和第 6 个数字,因为前两个(排序列表中的第三个)相等。如何让 Excel 只选择其中之一?

(解决方案不需要使用条件格式,可以使用 Excel 上可用的任何工具,从公式到 VB,但最好是简单)。

4

2 回答 2

1

对于您的条件格式,我们需要打破平局。一种方法是计算一个值在之前的比较中出现的次数。

这会将您的条件公式更改为

=(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

对于条件格式

于 2013-07-23T14:55:53.493 回答
0

我想不出一个单元格解决方案,但这是我对辅助列的看法:

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)

向下拖动两个公式以向下复制。

在此处输入图像描述

于 2013-07-23T14:58:28.440 回答