繁体   English   中英

如何检索 IMPORTRANGE 更新 Google 表格中数据的确切时间?

[英]How to retrieve the exact time when IMPORTRANGE updated the data in the google sheets?

在工作表 1 中,我使用 IMPORTRANGE 从另一个电子表格导入数据 - “源”。 源表从 Google Analytics 检索数据。 源工作表已更新为新数据。 这也反映在表 1 中。新数据可能与以前的数据重复。 我想要的是检索将其与以前的数据进行比较的唯一数据,或者换句话说,下次导入范围更新时,我需要在以前的导入范围更新中不存在的唯一链接(数据)。

一种方法是在每日邮票之间创建积压数据,然后对其进行唯一处理。 但这会用大量数据轰炸电子表格,并且由于这是一个连续的过程,积压电子表格将在几周内追加到限制。

是否有脚本可以捕获 importrange 更新时间并在比较以前的数据时执行唯一的脚本?

您可以通过使用 Google Apps 脚本来处理逻辑并在全局变量或脚本属性中保留唯一链接来实现这一点。

一个例子:

  1. 源工作表接收新数据。 --> 触发你的脚本。
  2. 脚本使用来自源的链接; 检查全局变量/脚本属性,并向其附加新的唯一值。
  3. 脚本将唯一数据注入目标。

有用的链接:

数据 > 源电子表格 >(通过导入范围)目标电子表格 sheet_1 和新数据到目标电子表格 sheet_2?

如果这就是你的意思:

function doSomeThing(){

var ss = SpreadsheetApp.getActiveSpreadsheet();

var sheetOne = ss.getSheetByName("AAA");
var dataOne = sheetOne.getRange(1,1,sheetOne.getMaxRows(),sheetOne.getMaxColumns()).getValues();

var sheetTwo = ss.getSheetByName("BBB");


var colNumberDataToCompare = 5; //for example
var dataToCompare = sheetTwo.getRange(1,colNumberDataToCompare,sheetTwo.getLastRow(),1).map(function(cell){return cell[0]}); 
var hlpArray = [];

  for(var i=0;i<dataOne.length;i++){

    if(dataToCompare.indexOf(dataOne[i][colNumberDataToCompare]) == -1){

      hlpArray.push([dataOne[i]])

    }

  }
  if(hlpArray[0]){

    sheetTwo.getRange(sheetTwo.getLastRow()+1,1,hlpArray.length,hlpArray[0].length);

  }

}

如果没有,对不起。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM