Excel函数:=sumproduct((b$2:b$10>b2)/countif(b$2:b$10,b$2:b$10))+1(详细求解?)

用这个函数求出了中国式的排位,函数的含义是统计b2:b10中比b2大的数值的个数(不重复计算),然后加1 。但我不清楚具体是怎么算的,为什么要用sumproduct返回各数组的乘积之和呢?请各位朋友给出一个详细的解释,谢绝含糊不清的。谢谢!

sumproduct(b$2:b$10>b2)这个公式计算出来的是有几个数大于B2,原理是括号中的算式得出的结果是一组0或1组成的数组,大于B2的,是0,不大于B2的是1,然后用SUMPRODUCT函数对这组数据相加(因为是一维数据,所以不用乘,只用加),等效公式是{=SUM(IF(B2:B10>B2,1,0))}
countif(b$2:b$10,b$2:b$10)这个是计算区域中的数值个数的
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-26
sumproduct((b$2:b$10>b2)/countif(b$2:b$10,b$2:b$10))返回的是B2-B10间比B2值大的值的数量
你可以公式求值一下看看,
例如 比B2大的值有5个 其中有2个是重复的。
那么sumproduct((b$2:b$10>b2)/countif(b$2:b$10,b$2:b$10))
注意 是除 不是乘,
sumproduct((0,0,0,1,1,1,0,1,1)/(1,1,1,2,2,1,1,1,1))
sumproduct(0,0,0,1/2,1/2,1,0,1,1)=4
所以B2的排名是 sumproduct((b$2:b$10>b2)/countif(b$2:b$10,b$2:b$10))+1=5本回答被提问者采纳
第2个回答  2010-05-26
sumproduct((b$2:b$10>b2这是算>B2的个数,countif(b$2:b$10,b$2:b$10))+1这是算总的个数

这是数组公式,要按ctrl+shift+enter才有效的
相似回答
大家正在搜