Jak wymusić ponowne obliczenie komórki za pomocą funkcji ImportRange w Arkuszu kalkulacyjnym Google?

Mam arkusz kalkulacyjny Target, który używa ImportRange, aby pobrać dane z innego arkusza kalkulacyjnego Źródło, tak jak w

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

Klauzula select służy do wyboru danych, które pasują do wartości w B3 - jeśli ta wartość komórki zostanie zmieniona, import zostanie zaktualizowany „natychmiast”.

Chcę być w stanie wymusić aktualizację, jeśli ktoś zmieni coś w arkuszu źródłowym, abyśmy mogli zobaczyć to odzwierciedlenie w „Natychmiast”. Obecnie zdarza się to tylko „po nieokreślonym czasie”, który trwa około minuty i jest zbyt wolny dla moich celów.

Aktualizacja:

Zgodnie z odpowiedzią i komentarzami poniżej dodałem funkcję UpdateTarget do źródła, które jest wywoływane z wyzwalacza edycji *:

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();
}

Wydaje się, że działa to bardziej efektywnie, ale równie dobrze mogę mieć skrypt, który zapisuje zaktualizowane wartości bezpośrednio do celu, jeśli idę tą trasą.

Naprawdę chciałem, aby Target był szablonem, który inni użytkownicy mogliby duplikować i który wyodrębniałby konkretne dane „na żywo” z głównego źródła, niechętnie implementuję skrypty w źródle, które wymagałyby utrzymania, gdy dodawane są nowe cele.

Myślę, że to, czego naprawdę potrzebuję, to sposób na ponowne sformułowanie formuły w taki sposób, że zależy ona od komórki, którą można edytować i uruchomi ponowne obliczenie - ale nie ma to wpływu na wynik?

(* An aside: Odkryłem, że funkcja openByID zwróciła wyjątek „Action not allowed”, chyba że zostanie wywołana za pomocą jawnego wyzwalacza - onEdit nie może edytować innych arkuszy kalkulacyjnych - zobaczhttps://developers.google.com/apps-script/understanding_triggers).

questionAnswers(3)

yourAnswerToTheQuestion