首页 > 解决方案 > Google SpreadSheets:无法使用 setFormula 进行循环

问题描述

所以,我有这个公式

function data(){
 var sh = ss.getActiveSheet();
 for(i=1;i<=8;i++){  
for(j=1;j<=5;j++){
 sh.getRange(i+4;j+1).setFormula('=split(IMPORTXML(concatenate("https://fiis.com.br/";$A$1);concatenate($A$29;'+ i +';$B$29;'+ j +';$C$29));"()")');

   };

  };

}

我正在尝试将来自该站点的一些数据作为矩阵插入工作表中,我尝试了很多不同的时间,但它让我在参数列表(第 44 行,文件“teste.gs”之后给出“SyntaxError:missing”) )Dismiss" 第 44 行是带有 setFormula 的行。请有人救我

编辑:我发现了问题:它就在这里 "$A$29;'+ i +';$B$29;'+ j +';$C$29)" 我必须在 + 之后和之前去掉空格,如下所示: $A$29;'+i+';$B$29;'+j+';$C$29) 然后它起作用了

标签: javascriptgoogle-apps-scriptgoogle-sheets

解决方案


你想做$A$29;'+ i +';$B$29;'+ j +';$C$29什么?似乎应该是$A$29;"+";i;"+";$B$29;"+";j;"+";$C$29 ,或者如果您想将 i 或 j 添加到单元格,那么您应该在该行上方执行。


推荐阅读