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

时间:2019-01-18 01:39:52

标签: google-apps-script google-sheets parse-error google-sheets-formula

我希望找到一种解决此Formula parsing error的方法,而不必在每次运行脚本时都需要手动更改。

我曾希望Google Sheets - setFormulaR1C1(formula) doesn't seem to work能解决我的情况,但是添加分号并不会有所作为。

我正在运行一个脚本,该脚本将以下公式添加到已添加工作表的列中的单元格中:

range.setFormulaR1C1('=VLOOKUP((INDIRECT("R[0]C[-28]";false)-INDIRECT("R[0]C[-29]";false));Moon!$B$19:$C$68;2;true)');`

它会导致ERROR#和消息Formula parse error

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

我可以通过在公式中添加左括号和右括号来手动“纠正”问题。 (然后,我也可以删除那些相同的括号,并且该公式仍然可以正常工作,而不会发生解析错误。)然后,我可以将该公式复制到下面的行中,并且可以正常工作。如果在添加(和删除)括号之前尝试复制公式,它将继续失败。

展览:

  1. 在AN列中显示ERROR#。

  1. 在编辑框中单击公式时,将“错误”的分辨率显示为正确的期望值“满月”。

]

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

]

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

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

  1. 表明我可以删除添加的左括号和右括号,并且该公式仍然有效,没有任何解析错误。

  1. 表明分析错误仍然消失,并且出现期望值。

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

1 个答案:

答案 0 :(得分:0)

由于您要插入使用$mycollection表示法作为INDIRECT的文本参数R1C1表示法作为另一个函数的参数的公式,因此应使用{{1} },而不是A1