0
我有一张数据表,通过一个vlookup整天读取另一个工作表的信息。另一张表通过一天中刷新的importxml链接到网站。编写一个脚本来删除Google工作表中的公式
一旦已经获得的信息,我需要删除公式并留在原地的值。即一旦单元格不再读取为#N/A,则用值替换该行数据。然后,我的想法是将其设置为触发器,然后每小时运行一次,循环遍历每行并更新不再显示#N/A的所有行。
我有一张数据表,通过一个vlookup整天读取另一个工作表的信息。另一张表通过一天中刷新的importxml链接到网站。编写一个脚本来删除Google工作表中的公式
一旦已经获得的信息,我需要删除公式并留在原地的值。即一旦单元格不再读取为#N/A,则用值替换该行数据。然后,我的想法是将其设置为触发器,然后每小时运行一次,循环遍历每行并更新不再显示#N/A的所有行。
您可以通过运行下面的脚本替换静态值的公式输出。关键是一定范围是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
}
ZAQ。这是一个很好的开始,所以谢谢你,但我需要更进一步。我每天大概有100行。这些线路的“结果”将在一天中更新,因此在9点线路3,5,17,25可能更新,然后在9点30分线路7,35,40,92的结果可能会增加,然后更多并通过importxml在整个一天更多。基本上,每次importxml刷新整张表格,然后重新计算哪一个表达时间相当长,并且在importxml'空白'出来然后刷新的过程中,所有结果都会“重置”。 – Stuart
因此......'拼图'的最后一部分是一个简单的问题表单,它显示为#N/A,直到结果出来。我希望循环每小时运行一次并执行代码如上所述,但对于已经有结果并因此不再显示为#N/A的所有行,按行逐行排列。希望这是明确的。再次感谢您的帮助,如果您可以添加任何进一步它将非常感激。亲切的问候。 – Stuart