【发布时间】:2019-09-25 12:37:34
【问题描述】:
我在 GAS 中创建了一个脚本,该脚本从杂乱的条目中提取 ID,然后将其输入到将在数据表中查找的公式中 - 但是,由脚本创建的公式会导致 Google 表格被丢弃一个错误,好像公式有问题。但是,使用 Google 表格的“查找和替换”窗口来替换相同字符的字符(如起始 = 到 =),可以使其接受公式并正确运行 - 手动删除字符,按 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 - 但是,公式解析错误仍然存在,尽管在输入或复制粘贴的情况下仍然有效。
【问题讨论】:
-
如果您要设置公式,您应该使用
.setFormulas()而不是.setValues()。 -
@ross 我不知道存在这种方法。那是我的错。但是,将
.setValues()替换为.setFormulas()并不能解决问题。 -
你能分享你的工作表吗?
-
@GNUsNotAUser 我不允许共享工作表,因为工作表包含个人信息。对不起
-
错误是什么?
标签: google-apps-script google-sheets