跪求各位大神,请问有没有什么函数能够自动进行二次计算

如图: 从C20-M20为一个同学的成绩,有若干同学的成绩,可能到C1000-M1000, C2-M2这里的单元格有函数在里面,是计算出所有学生的排名,只需要把C20-M20复制到C3-M3,就会在C2-M2,显示出这个学生在全校的各科成绩排名。 问题来了,我要知道所有学生的排名显示在P20-Z20(第20行的成绩C20-M20,他的成绩排名在P20-Z20显示出来,但是又要复制上去计算了才知道多少排名才能复制到P20-Z20),可是有几千学生,数据量庞大,一个一个学生复制上去,得出结果了再复制下来,数量太多太浪费时间。 提问:有没有什么函数写在P20-Z20下拉下来1000或者几千行。可以自动计算出左边成绩复制上去得到的排名显示出来? 注意,我只需要有一个方法计算我的举例,因为这只是个例子,不是真的要计算这里的学生的排名。 跪谢大神。
广西
浏览 306
收藏
5
分享
5 +1
29
+1
全部评论 29
 
蜗牛
p20=let(fx,lambda(x,计算全学校排名的公式(全校排名公式里面的c3:m3要改为x),fx(c20:m20)),向下拉,关键是不知道全校排名公式是啥样子的,有没有c3:m3,以及需要锁定的项。
· 河南省
回复
 
wils
wils

创作者俱乐部成员

公式太复杂就用宏循环的复制过去,计算,复制结果,也不会太慢
· 海南省
回复
wils
wils

创作者俱乐部成员

大概: function cc() { for (const i of Range('B5:D7').Rows) { i.Copy(Range('B2:D2')) Range('B1').Calculate() Range(`F${i.Row}`).Value2 = Range('B1').Value2 } }
· 广东省
回复
 
清华学弟任泽岩
清华学弟任泽岩

创作者俱乐部成员

这个题动态数组肯定可以做,很简单,不用你来回复制。麻烦回复我一下想要生成的效果。
· 辽宁省
回复
麦欣
你好哥,因为C2行里的数据计算是经过很多重的,所以我这里只是演示而已。 重点就是,张三李四等等数千组成绩,我复制上去B3行,会在B2行显示计算结果。然后复制到P20-Z20。但是那么多行成绩,我一行一行复制粘贴结果太罗嗦。因为设计数千上万行。所以我的要求只是有没有方法,在P20-Z20,显示张三复制上去的成绩,以此类推下来数千行。谢谢大哥了,感谢。急,重要。
· 广西
回复
 
十一年
按你所说,你的C2-M2的公式 是计算 C3-M3位置的数据 你把C2-M2中的公式放到 P20-Z20位置 然后将公式中引用位置 修改成引用 C20-M20 位置的数据 不就可以了吗
· 黑龙江省
回复
HC.旋
学会了
· 中国
回复