RANK 美式排名
使用 rank 函数得到的是 美式排名,排名结果如图所示
java
=RANK(B2, $B$2:$B$11)
中式排名
但很多是都 美式排名 并不符合我们的需求,我们想要的是下图这种排名,这种排名叫 中式排名。
公式1
java
=MATCH($B$2:$B$11, SORT(UNIQUE($B$2:$B$11), , -1), 0)
公式2
java
=SUMPRODUCT(($B$2:$B$11 >= B2) / COUNTIF($B$2:$B$11, $B$2:$B$11))
公式3
java
=SUMPRODUCT(($B$2:$B$11 > B2) / COUNTIF($B$2:$B$11, $B$2:$B$11)) + 1
公式4
java
=SUM(IF($B$2:$B$11>B2, 1/COUNTIF($B$2:$B$11,$B$2:$B$11))) + 1
-
($B$2:$B$11 >= B2)
这部分是一个逻辑数组,其中B2到B11的每个元素都与B2进行比较。如果B2到B11中的元素大于或等于B2中的元素,结果为TRUE(1),否则为FALSE(2),返回的是一个数组。 -
COUNTIF($B$2:$B$11, $B$2:$B$11)
这个函数计算B2到B11范围内每个元素出现的次数。由于这里使用的条件是$B 2 : 2: 2:B$11,即B2到B11的每个元素,返回的是一个数组。