getFormulas () и setFormulas () преобразуют ссылки в #REF - PullRequest
0 голосов
/ 04 января 2019

У меня проблема с моей таблицей, не обновляющей формулу =IMPORTRANGE.Я перепробовал все приемы с разрешениями общего доступа и настройками электронных таблиц, но у меня они не работают.

Вместо этого я пытаюсь создать простой макрос, который стирает формулу и снова вводитэто обновить импорт.Когда я запускаю свой макрос, мои формулы превращаются в #REF.

var ss = SpreadsheetApp.getActiveSpreadsheet();
var startingSheet = ss.getActiveSheet();

var importRange = ss.getRangeByName("MasterImport");
var importFormulas = importRange.getFormulas();
importRange.clearContent();
importRange.setFormulas(importFormulas);

Моя формула в именованном диапазоне «MasterImport» выглядит следующим образом:

=IMPORTRANGE(#REF!, index(indirect(index(#REF!, match("asset_tab", #REF!, 0))),
    match(#REF!, indirect(index(#REF!, match("series_id", #REF!, 0))), 0)))

1 Ответ

0 голосов
/ 04 января 2019

@ Предложение TheMaster сработало отлично.Вот окончательный код:

var importRange = ss.getRangeByName("MasterImport");
var importFormulas = importRange.getFormulas();
importRange.clearContent();
SpreadsheetApp.flush();
importRange.setFormulas(importFormulas);
...