在线表格如何提高airscript的遍历速度?目前5000行数据就会运行超时

如题,列大概有10个,行目前5000,每月新增500左右 需要对每个单元格确认是否为空或是否为公式,否则填充公式 目前的写法是for循环遍历行数,for循环内依次用if对每列的第i行单元格进行if判定 并且遍历开始前关闭了自动计算,但是运算时间还是会超过10分钟,目前拆成了3个程序代码,每个程序代码3个列,也要运行5-6分钟,想问问有什么办法能通过改变代码来提高运行速度? 行数的遍历必须每次都要全部遍历完 遍历的原因是每天都有新增行的输入,但是在复制的时候公式会被默认贴成值,如果有更好的检查方法也请大佬分享(注意在线表没法改默认粘贴方式,以及由于有时候还存在筛选后隐藏列、行的问题,只有用最基础的ctrl+V才能保证结果)
北京
浏览 272
1
2
分享
2 +1
8
1 +1
全部评论 8
 
王禹成

创作者俱乐部成员

太专业了
· 浙江省
回复
 
补充一下,能整列填充的列我都改成每天整列刷新公式了,但是有些列的有些值是需要根据发票金额等信息,在公式末尾手动+-尾插值的,所以没办法整列填充,尝试了用筛选的方法找到非公式单元格,但是如果单纯输出筛选后区域的地址,他又会把隐藏的单元格一起输出出来
· 北京
回复
 
既然已经用脚本了,又利用脚本向单元格中填充公式 这样的方式,个人感觉不是一个好的解决问题的方式,应该用脚本直接解决最终的问题 如果非得用脚本向单元格中填充公式 也可以这样做,每次运行脚本后,通过脚本在某个表中记录 记录处理到了哪一行的行号 i,下一次再运行脚本时 从 i + 1 行开始处理,处理完毕后,再将 保存的行号i更新为 i + 1 这样每次运行脚本时,都是针对新增的数据来遍历.. 而不是遍历全部的数据... 另外通过代码循环处理单元格中的数据时,是不应该直接遍历单元格对象的 而应该把区域放在数组里,通过代码遍历数组里的数据 这样的处理方式,运行时间可以提升百倍千倍万倍.........
· 黑龙江省
回复
是这样的,因为涉及到未知位置的插入行新增,所以没办法直接记录遍历到哪里…… 能不能详细说说区域放进数组啊?是指单元格的地址存进数组,还是说把单元格的值存进数组呢?
· 北京
回复