用于计算Matrix的Google Apps脚本

时间:2013-11-23 00:27:28

标签: google-apps-script google-sheets

我有一个电子表格,其中设置了一个矩阵,用于计算学生与特定导师上课的次数。

矩阵可以正常使用这个公式:

=ARRAYFORMULA(SUM(IF(TERM4!$B$6:$B$2398=B$1,IF(TERM4!$C$6:$C$2398=$A2,1,IF(TERM4!$D$6:$D$2398=$A2,1,FALSE()))),FALSE()))

然而,由于学生/导师的数量,矩阵是7000个单元格,大大减慢了工作单。

有没有更好的方法来做到这一点。我可以运行谷歌应用程序脚本来计算触发器上的矩阵(例如,每周一次)来计算矩阵,因此公式不会减慢纸张的速度。

如果结果为FALSE,我还希望公式返回空白而不是0。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

是的,可以用天然气来做。唯一有点复杂的部分是,如果你的脚本需要超过5分钟,它就不会处理所有的行。为避免这种情况,请按块(一次说100个)处理它,并使用scriptProperties记住上次处理的电子表格和行。每个触发器都将尽可能多地处理,直到处理完所有的电子表格和行。