不知道如何更新最快
其实这个问题嘛,就是计算中式排名,我也不知道有没有人能给我一个肯定点的答复。
如公式所示:
当公式下拉到C7单元格的时候,C2:C6单元格的更新是按照啥顺序去更新的
是从上到下,从下到上?
我觉得应该是按照从大到小的顺序去更新,就是先更新B4,B2,B5,B3的顺序,个人猜测
因为这样最快
但是我实际上测试了一下,当数据达到几百以后,就卡的厉害了,好像又不是。。
请各位踊跃猜测,给予我意见,谢谢各位。
逐行扫描规则:
自上而下,从左至右 。
(微软就是这样规定的)
COUNTIF的数据区,也不要全列引用(这样就快多) 逐行扫描规则:
自上而下,从左至右 。
(微软就是这样规定的)
COUNTIF的数据区,也不要全列引用(这样就快多) 从上到下,从左到右,只要活动了一次,就要从头到尾算一遍。数组公式多了肯定是要卡的
而且我猜呀,这种用法有可能还会加大计算量 从上到下,从左到右,只要活动了一次,就要从头到尾算一遍。数组公式多了肯定是要卡的
而且我猜呀,这种用法有可能还会加大计算量 中式排名的套路是 :
=SUM((B$2:B$12>=B2)/COUNTIF(B:B,B$2:B$12)) 中式排名的套路是 :
=SUM((B$2:B$12>=B2)/COUNTIF(B:B,B$2:B$12)) 谢谢丢丢大哥,整列引用我知道,改了也差不多卡的。
从上到下?如果是这样更新公式单元格的话,那算法的耗时会大大增加。
比如这个例子:到95了,那么95肯定是1的,那么b2单元格呢?他还是2啊,因为81还是1啊,95又1,那么80还是2,79原来是3,这个时候还是3呀,更新 一轮,第二轮80才会变到3.。。。具体更新几轮才能让所有数值最终稳定下来就不知道咯。看样子也确实是这样更新的,因为这样的算法确实很卡。 谢谢丢丢大哥,整列引用我知道,改了也差不多卡的。
从上到下?如果是这样更新公式单元格的话,那算法的耗时会大大增加。
比如这个例子:到95了,那么95肯定是1的,那么b2单元格呢?他还是2啊,因为81还是1啊,95又1,那么80还是2,79原来是3,这个时候还是3呀,更新 一轮,第二轮80才会变到3.。。。具体更新几轮才能让所有数值最终稳定下来就不知道咯。看样子也确实是这样更新的,因为这样的算法确实很卡。 计算排名数据大时,用排序 .(飞快)