我已经在GAS中创建了一个脚本,它从一个杂乱的条目中提取ID,然后将其输入到一个公式中,该公式将在数据表中查找它-然而,脚本创建的公式会导致Google工作表抛出一个错误,就好像公式有问题一样。然而,使用Google Sheets的“查找和替换”窗口来替换相同字符的字符(如开始的= to =),可以让它接受公式并正确运行-手动删除字符,按Enter键,然后将其放回原处也是可行的。
我已经尝试在GAS中实现查找和替换,以使其自动化-虽然脚本工作正常并替换了给定的字符,但它不像手动查找和替换所做的那样-已经更正的公式仍然有效,而那些“不正确”的公式仍然是错误的。
for(var i = 0; i < range.getNumRows(); i++ ){
//Processing to extract the id
valsO[i][0]="=IF(ISERROR(VLOOKUP(\""+id+"*\";'Data'!B2:B$8400;1;FALSE));\"NONE\";VLOOKUP(\""+id+"*\";'Data'!B2:B$8400;1;FALSE))";
}
range=sheet.getRange(range.getRowIndex(), resultColumn, range.getNumRows());
range.setFormulas(valsO);
编辑:从.setValues
更正为.setFormulas
,从IFERROR
更正为ISERROR
-但是,公式解析错误仍然存在,尽管它在键入或复制粘贴时仍然有效。
发布于 2019-09-26 14:11:44
在制作匿名版本的电子表格以供每个人查看和检查时,我意外地找到了正确的答案。
我的问题是,我期望Google Sheets解析非英语语言的脚本生成的公式,就像它通常在工作表中键入时一样。一旦我将整个公式翻译成英文,包括布尔值FALSE,脚本就开始正常工作了。
谢谢你的帮助
https://stackoverflow.com/questions/58098585
复制相似问题