Google Sheets脚本使用INDIRECT函数时出现语法错误求助
Google Apps Script setFormula语法错误修复
问题原因
你的代码中误用了HTML转义字符("和&)来表示公式里的引号和连接符,同时未正确处理JavaScript字符串的引号嵌套规则,导致字符串提前闭合,触发missing ) after argument list语法错误。
修正后的代码
将HTML转义字符还原为实际的公式字符,并正确处理字符串引号:
function setFormula() { var sheet = SpreadsheetApp.getActiveSheet(); var range = sheet.getRange('C2'); //Set the cell here range.setFormula('=VLOOKUP(C$1,INDIRECT("'"&$A2&"'!$B$5:$E$200"),3,FALSE)') }
关键说明
- 公式中的
&是Excel的字符串连接符,直接写入即可,无需转义 - JavaScript单引号包裹的字符串内,双引号可直接使用,不需要额外转义
- 还原后的公式能被Google Sheets正确解析,实现动态引用
$A2指定的工作表范围
内容的提问来源于stack exchange,提问作者Rob Williams
相关产品推荐
相关产品推荐

