Google スプレッドシートで IMPORTRANGE を介してデータを更新するのが遅れているという不満をいくつか見ましたが、反対のことが必要で、2 番目のシートが自動的に更新されるのは望ましくありません。たとえば、1 日の終わりに更新するだけです。
コードはすでに次のようになっています。
=IMPORTRANGE("The Key","The_Page!B:D")
Google スプレッドシートで IMPORTRANGE を介してデータを更新するのが遅れているという不満をいくつか見ましたが、反対のことが必要で、2 番目のシートが自動的に更新されるのは望ましくありません。たとえば、1 日の終わりに更新するだけです。
コードはすでに次のようになっています。
=IMPORTRANGE("The Key","The_Page!B:D")
おそらく、スクリプト エディターを使用して、次のような単純な関数を作成する必要があります。
function importData()
{
var ss = SpreadsheetApp.getActiveSpreadsheet(); //source ss
var sheet = ss.getSheetByName("The_Page"); //opens the sheet with your source data
var values = sheet.getRange("B:D").getValues(); //gets needed values
var ts = SpreadsheetApp.openById("The Key"); //target ss - paste your key
ts.getSheetByName("Name of the target sheet").getRange("B:D").setValues(values);
}
次に、このプロジェクトに時間駆動型トリガーを追加します ([リソース] > [現在のプロジェクトのトリガー] > [新しいトリガーを追加])。
両方のスプレッドシートで、セルを使用して更新ループを作成し、NOW
両方のスプレッドシートが互いのNOW
セルを相互参照することで、これを回避しました。
元のシートにフォームの送信などが追加されると、独自のセルが更新され、独自のNOW
セルが再更新されますIMPORTRANGE
。2 番目のスプレッドシートも同様に、独自のNOW
セルを更新して、元のシートに正しいデータを提供します。2 番目のスプレッドシートはそれ自体を更新したためIMPORTRANGE
、最初に表示するデータを更新するメインと、元のスプレッドシートからIMPORTRANGE
セルを取得するセルも更新します。NOW
少なくとも、私はそれがどのように機能するかを確信しています。率直に言って、私が知っていること、気にかけていることは、それが機能するということだけです