“在参数列表后缺少)。”在应用程序脚本中

时间:2019-05-10 12:43:06

标签: javascript string google-apps-script google-sheets google-sheets-formula

我从另一张纸上复制了一个有效的公式填充信息,替换了新纸的相关单元格/公式,现在在第3行上收到一条错误消息(缺少参数)(在第3行)(很抱歉,这是非常明显,我对脚本非常陌生)

我尝试用一​​个非常简单的数学公式代替我要使用的数学公式,并且该数学公式没有抛出错误代码,所以它与我的公式有关。

原始:

function myFunction() { 
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); ss.getRange("E3").setFormula("=ARRAY_CONSTRAIN(ARRAYFORMULA(INDEX(F3:BS3,MAX(IF(F3:BS3>0,COLUMN($A1:$BS1),0)))), 1, 1)");

var lr = ss.getLastRow();
var fillDownRange = ss.getRange(3, 5, lr-2);
ss.getRange("E3").copyTo(fillDownRange);

不起作用:

function myFunction() {   
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
ss.getRange("D4").setFormula("=CONCATENATE(B4," ",C4)");

var lr = ss.getLastRow();
var fillDownRange = ss.getRange(4,4, lr-2);
ss.getRange("D4").copyTo(fillDownRange);

1 个答案:

答案 0 :(得分:2)

它读取第二个“作为结尾”,因此在第一部分中缺少)。第三个“作为新的开口被处理”。

您需要对“。”进行转义。
ss.getRange("D4").setFormula("=CONCATENATE(B4,\" \",C4)");

或者,如果Google App脚本支持的话,您也可以尝试使用其他“如”。 ss.getRange("D4").setFormula('=CONCATENATE(B4," ",C4)');