Google 表格 - setFormulaR1C1(formula) 似乎不适用于 VLOOKUP 公式

Google Sheets - setFormulaR1C1(formula) doesn't seem to work for VLOOKUP formula

我希望找到解决这个问题的方法 Formula parsing error,而不必在每次需要 运行 脚本时手动更改内容。

我曾希望 Google Sheets - setFormulaR1C1(formula) doesn't seem to work 能解决我的问题,但添加分号并没有什么不同。

我正在 运行 编写一个脚本,该脚本将以下公式添加到已添加 sheet:

的列中的单元格中
range.setFormulaR1C1('=VLOOKUP((INDIRECT("R[0]C[-28]";false)-INDIRECT("R[0]C[-29]";false));Moon!$B:$C;2;true)');`

它导致 ERROR# 消息 Formula parse error

但是,单击输入字段中的公式会导致正确的预期值出现在编辑框左侧的公式上方。

我可以 'correct' 通过在公式中添加左括号和右括号来手动解决问题。 (然后我也可以删除那些相同的括号,并且公式仍然可以正常工作,没有解析错误。)然后我可以将公式向下复制到下面的行并且它可以正常工作。如果我尝试在添加(和删除)括号之前复制公式,它仍然会失败。

展品:

  1. 在 AN 列中显示 ERROR#。

  1. 在编辑框中单击公式时,显示 'Error' 到正确预期值 "Full Moon" 的分辨率。

  1. 在单元格旁边显示错误消息。

  1. 显示通过在公式开头添加“(”和在公式末尾添加“)”修改的公式。

  1. 表明解析错误已消失,正确的预期值 Full Moon 现在出现在单元格中。

  1. 显示我可以删除我添加的左括号和右括号,公式仍然有效,没有解析错误。

  1. 说明解析错误还是没有了,出现了期望值

  1. 表明将公式(现在在外观上与脚本提供的原始条目相同)向下复制到其他行会产生预期值,没有解析错误。

由于您插入的公式使用 R1C1 表示法作为 INDIRECT 的 文本参数 A1 表示法作为另一个函数的参数,您应该使用 setFormula 而不是 setFormulaR1C1.