Как я могу принудительно пересчитать ячейку с помощью функции ImportRange в электронной таблице Google?

У меня есть цель электронной таблицы, которая использует ImportRange для получения данных из другого источника электронной таблицы, как в

A6 = query(ImportRange("mykey", "Weekly!B:BI"), CONCATENATE("select * WHERE Col1='",B3,"'"), 0)

Предложение select предназначено для дополнительного выбора данных, которые соответствуют значению в B3 - если это значение ячейки изменяется, то импорт обновляется «немедленно».

Я хочу иметь возможность принудительного обновления, если кто-то что-то изменит в электронной таблице источника, чтобы мы увидели, что это отражено в цели "немедленно". В настоящее время это происходит только «после некоторого неуказанного времени», которое занимает около минуты или около того, и слишком медленно для моих целей.

Обновить:

Согласно ответу и комментариям ниже, я добавил функцию UpdateTarget в Source, которая вызывается из триггера на редактирование *:

function UpdateTarget() {
  try {
    var ss = SpreadsheetApp.openById("targetID");
  }
  catch(err)
  {
    Browser.msgBox(err);
  }
  var sheet = ss.getSheetByName("Weekly");
  sheet.getRange("A4").setValue("=query(ImportRange("sourceID", "Weekly!B:BI"), CONCATENATE("select * WHERE Col1='",B3,"'"), 0) ");
  SpreadsheetApp.flush();
}

Кажется, это работает более эффективно, но у меня также может быть скрипт для записи обновленных значений непосредственно в цель, если я иду по этому пути.

Я действительно хотел, чтобы цель была шаблоном, который другие пользователи могли бы дублировать и который извлекал бы конкретные «живые» данные из основного источника. Я неохотно внедряю сценарии в источник, которые необходимо будет поддерживать при добавлении новых целей.

Я думаю, что мне действительно нужен способ переформулировать формулу так, чтобы она зависела от ячейки, которая может быть отредактирована и вызовет пересчет - но это никак не повлияет на результат?

(* В сторону: я обнаружил, что функция openByID возвращала исключение «Действие не разрешено», если только она не была вызвана с помощью явного триггера - onEdit запрещено редактировать другие таблицы - смотритеhttps://developers.google.com/apps-script/understanding_triggers).

Ответы на вопрос(3)

Ваш ответ на вопрос