1

Google スプレッドシートで IMPORTRANGE を介してデータを更新するのが遅れているという不満をいくつか見ましたが、反対のことが必要で、2 番目のシートが自動的に更新されるのは望ましくありません。たとえば、1 日の終わりに更新するだけです。

コードはすでに次のようになっています。

=IMPORTRANGE("The Key","The_Page!B:D")
4

2 に答える 2

2

おそらく、スクリプト エディターを使用して、次のような単純な関数を作成する必要があります。

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

}

次に、このプロジェクトに時間駆動型トリガーを追加します ([リソース] > [現在のプロジェクトのトリガー] > [新しいトリガーを追加])。

于 2014-07-05T11:25:38.993 に答える
2

両方のスプレッドシートで、セルを使用して更新ループを作成し、NOW両方のスプレッドシートが互いのNOWセルを相互参照することで、これを回避しました。

元のシートにフォームの送信などが追加されると、独自のセルが更新され、独自のNOWセルが再更新されますIMPORTRANGE。2 番目のスプレッドシートも同様に、独自のNOWセルを更新して、元のシートに正しいデータを提供します。2 番目のスプレッドシートはそれ自体を更新したためIMPORTRANGE、最初に表示するデータを更新するメインと、元のスプレッドシートからIMPORTRANGEセルを取得するセルも更新します。NOW

少なくとも、私はそれがどのように機能するかを確信しています。率直に言って、私が知っていること、気にかけていることは、それが機能するということだけです

于 2014-11-20T02:06:20.950 に答える