首页 > 解决方案 > “参数列表后缺少 )。” 在应用程序脚本中

问题描述

我从另一张工作表中复制了一个工作公式填写,将相关单元格/公式换成了新工作表,现在在第 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);

标签: javascriptstringgoogle-apps-scriptgoogle-sheetsgoogle-sheets-formula

解决方案


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

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

或者,如果 Google App-Scripts 支持,您可以尝试使用不同的“like ”。 ss.getRange("D4").setFormula('=CONCATENATE(B4," ",C4)');


推荐阅读