失心瘋 发表于 2021-11-9 19:43:00

不知道如何更新最快


其实这个问题嘛,就是计算中式排名,我也不知道有没有人能给我一个肯定点的答复。
如公式所示:
当公式下拉到C7单元格的时候,C2:C6单元格的更新是按照啥顺序去更新的
是从上到下,从下到上?
我觉得应该是按照从大到小的顺序去更新,就是先更新B4,B2,B5,B3的顺序,个人猜测
因为这样最快
但是我实际上测试了一下,当数据达到几百以后,就卡的厉害了,好像又不是。。
请各位踊跃猜测,给予我意见,谢谢各位。

烦死你大过年的给你个到哪疙瘩 发表于 2021-11-9 23:42:13

逐行扫描规则:
自上而下,从左至右 。
(微软就是这样规定的)
COUNTIF的数据区,也不要全列引用(这样就快多)

游去来 发表于 2021-11-11 00:17:25

逐行扫描规则:
自上而下,从左至右 。
(微软就是这样规定的)
COUNTIF的数据区,也不要全列引用(这样就快多)

李君别来久书林有贤杰 发表于 2021-11-11 13:59:22

从上到下,从左到右,只要活动了一次,就要从头到尾算一遍。数组公式多了肯定是要卡的
而且我猜呀,这种用法有可能还会加大计算量

万物维新 发表于 2021-11-21 22:46:54

从上到下,从左到右,只要活动了一次,就要从头到尾算一遍。数组公式多了肯定是要卡的
而且我猜呀,这种用法有可能还会加大计算量

筱浠妈妈 发表于 2021-11-24 11:09:40

中式排名的套路是 :
=SUM((B$2:B$12>=B2)/COUNTIF(B:B,B$2:B$12))

折伏無間 发表于 2021-12-7 13:02:58

中式排名的套路是 :
=SUM((B$2:B$12>=B2)/COUNTIF(B:B,B$2:B$12))

方肠四角肚 发表于 2021-12-15 12:28:24

谢谢丢丢大哥,整列引用我知道,改了也差不多卡的。
从上到下?如果是这样更新公式单元格的话,那算法的耗时会大大增加。
比如这个例子:到95了,那么95肯定是1的,那么b2单元格呢?他还是2啊,因为81还是1啊,95又1,那么80还是2,79原来是3,这个时候还是3呀,更新 一轮,第二轮80才会变到3.。。。具体更新几轮才能让所有数值最终稳定下来就不知道咯。看样子也确实是这样更新的,因为这样的算法确实很卡。

古德曼 发表于 2021-12-15 13:13:05

谢谢丢丢大哥,整列引用我知道,改了也差不多卡的。
从上到下?如果是这样更新公式单元格的话,那算法的耗时会大大增加。
比如这个例子:到95了,那么95肯定是1的,那么b2单元格呢?他还是2啊,因为81还是1啊,95又1,那么80还是2,79原来是3,这个时候还是3呀,更新 一轮,第二轮80才会变到3.。。。具体更新几轮才能让所有数值最终稳定下来就不知道咯。看样子也确实是这样更新的,因为这样的算法确实很卡。

式微丶 发表于 2021-12-15 18:43:35

计算排名数据大时,用排序 .(飞快)
页: [1] 2 3 4
查看完整版本: 不知道如何更新最快