次のスクリプトを実行することで、数式の出力を静的な値に置き換えることができます。要点は、特定の範囲がcopied to itself, but only as valuesであることです。それはあなたがログインしたい出力を生成し続けて、場所で式を保つために、より論理的になるだろう、との代わりに、新しい行に、たとえば、他の場所でその出力をコピーした
function freezeValues() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Sheet1'); // or whatever name
var range = sheet.getRange("A1:Z1"); // assuming your data appears in A1-Z1
range.copyTo(range, {contentsOnly: true});
}
スプレッドシート。例:
function logValues() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Sheet1'); // or whatever name
var range = sheet.getRange("A1:Z1"); // assuming your data appears in A1-Z1
var values = range.getValues(); // get the data
sheet.appendRow(values[0]); // appends a row with these values to the bottom of sheet
}
出典
2017-01-03 21:52:39
FTP
zaqこれは素晴らしいスタートですので、どうもありがとうございます。私は1日あたり約100行あります。これらの行の 'results'は1日を通して更新されるので、9時には3,5,17,25行が更新され、9時30分に7,35,40,92行の結果が追加され、 importxmlを使用して1日を通してより多くの情報を提供します。基本的には、importxmlがシート全体をリフレッシュするたびに、どれがどれくらい時間をかけて再計算され、importxmlの空白が出てからリフレッシュされるので、その期間中のすべての結果がリセットされます。 – Stuart
したがって、「パズル」の最後の部分は、問題のシート上の簡単なvlookupであり、結果が出るまで#N/Aとして表示されます。ループを1時間ごとに実行し、本質的にコードを実行するすでに結果が出ているので、もはや#N/Aとして表示されていないすべての行に対して行ごとに表示されます。希望は分かります。もう一度あなたの助けをありがとう、さらに何かを加えることができれば、それは大いに感謝されるでしょう。敬具。 – Stuart