求解释一下excel中的函数
因为之前在统计学生成绩时试用rank函数,排名结果不符合中国人的排名习惯;所以在网上搜索了一下,有高手给出了下面这个函数,试了一下,结果完全正确,但是看不懂这个函数,求高...
因为之前在统计学生成绩时试用rank函数,排名结果不符合中国人的排名习惯;所以在网上搜索了一下,有高手给出了下面这个函数,试了一下,结果完全正确,但是看不懂这个函数,求高手指教,给详细说明一下。
SUMPRODUCT(($G$3:$G$65>G3)/(COUNTIF($G$3:$G$65,$G$3:$G$65)))+1 展开
SUMPRODUCT(($G$3:$G$65>G3)/(COUNTIF($G$3:$G$65,$G$3:$G$65)))+1 展开
2个回答
展开全部
这个公式的思路是这样:用$G$3:$G$65>G3这段来判断一下所有数据中比当前数据大的有哪些,是的返回TRUE,不是的返回FALSE,
然后利用COUNTIF($G$3:$G$65,$G$3:$G$65)这段函数求出每个数据在所有数据中的次数
这两段想必你也知道什么意思
巧妙就巧妙在结合之后,所有用COUNTIF($G$3:$G$65,$G$3:$G$65)>1的对应的$G$3:$G$65>G3结果均为FALSE,那么FALSE/任何值=0,也就排除掉了比当前数小的重复数据参与排名的机会了。比当前数据大的重复数据可以变成1/N,刚好重复数据有N个,相加之后还是1,这样就只占一个排名位置了。剩余的就是比当前数据大而且不重复的数据个数和。
而被排除掉的重复数据会导致整体个数的减少,所以最后要加1把个数补齐。
这个结果和RANK相比的好处是,可以计算出连续的排名,没有断号。
然后利用COUNTIF($G$3:$G$65,$G$3:$G$65)这段函数求出每个数据在所有数据中的次数
这两段想必你也知道什么意思
巧妙就巧妙在结合之后,所有用COUNTIF($G$3:$G$65,$G$3:$G$65)>1的对应的$G$3:$G$65>G3结果均为FALSE,那么FALSE/任何值=0,也就排除掉了比当前数小的重复数据参与排名的机会了。比当前数据大的重复数据可以变成1/N,刚好重复数据有N个,相加之后还是1,这样就只占一个排名位置了。剩余的就是比当前数据大而且不重复的数据个数和。
而被排除掉的重复数据会导致整体个数的减少,所以最后要加1把个数补齐。
这个结果和RANK相比的好处是,可以计算出连续的排名,没有断号。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询