2015-07-20 3 views
0

Мне сложно понять, почему приведенная ниже формула не будет анализироваться при передаче sheet.getRange('B2:B').setFormulaR1C1(). Он работает в листе, когда я заменяю нотацию R1C1 на нотацию A1 и ничего больше.#ERROR при разборе .setFormulaR1C1()

формула: IF(R[0]C[4]="", "", VLOOKUP(R[0]C[4], sheet2!A:B, 2, 0))

Это один работает: IF(F2="", "", VLOOKUP(F2, sheet2!A:B, 2, 0))

Единственным отличием является замена нотации R1C1.

Поскольку сценарий фактически заполняет столбец нотной записью R1C1 (он должен быть заменен столбцом, на который ссылается в нотации A1, насколько мне известно), я считаю, что проблема заключается в самой функции .setFormulaR1C1().

У меня есть другая (другая) формула с тем же синтаксисом, но с использованием диапазонов, работающих непосредственно над ним, с использованием той же функции. Но этот не будет разбираться, и я понятия не имею, почему.

Любая помощь будет оценена по достоинству.

ответ

0

Оказывается, вы не можете комбинировать обозначения A1 и R1C1. Правильная формула, которая оценивает должным образом:

IF(R[0]C[4]="", "", VLOOKUP(R[0]C[4], sheet2!C[-1]:C[0], 2, 0))

Примечание обозначения R1C1 заменило обозначение A1 во втором опорном листе.