問題は、関数 like がどのように機能するかimportRange
です。実際には、セキュリティ ホールを回避するために、それらを使用してログインしているユーザー アカウントと同じアクセス/許可が必要です (所有しているスプレッドシートの編集者が、共有していない他のスプレッドシートにアクセスすることを想像してください)。
このため (少なくとも私はそう思います)、これらの数式は、スプレッドシートを開いたときにのみ評価されます。スクリプトを閉じて、スクリプトをトリガーで実行したままにすると、期待されるセルで結果が見つかりません。
これに対する簡単な回避策は、スクリプト自体を使用してデータを取得し、使用を終了することimportRange
です。それはとても簡単です、例えば
var values = SpreadsheetApp.openById('external-spreadsheet-key').
getSheetByName('Sheet1').getRange('A1:D100').getValues();
SpreadsheetApp.getActive().getSheetByName('DestSheet').
getRange(1,1,values.length,values[0].length).setValues(values);
明らかに、スプレッドシートのキー、シートの名前、および範囲は、ここでは単なる例です。