将数据从工作表中的特定单元格复制到另一工作表

时间:2019-03-20 13:49:12

标签: google-apps-script

几乎没有类似的查询,但我无法从中获得解决方案。

在我的主表中,我正在使用主表中的Importdata函数从网页中导入数据。网页中的数据每5分钟更改一次,因此主页中的单元格值A50每5分钟更改一次。

现在,我想编写一个Google应用程序脚本功能,该功能会将值从主表的A50复制到单元格A1,A2,A3,A4,A5 .......中的另一张表中,依此类推,并具有一个时间戳分别对应于B1,B2,B3,B4,B5 ....等等

1 个答案:

答案 0 :(得分:0)

您可以使用onEdit()触发功能来执行此操作。在单元格A50中进行编辑时,检查单元格和工作表是否正确,然后读取值并保存到目标工作表中。下面的代码可以做到这一点。更改工作表名称,如注释中所示。

function onEdit(e) {
  // check if active range is A50 or not
  var rangeStr = e.range.getA1Notation();
  if (rangeStr != 'A50') return;
  // get Spreadsheet
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  // get sheets
  var mainSheetNames = ['main sheet name', 'main sheet name', 'main sheet name']; // change here
  var mainSheet = e.range.getSheet();
  if (mainSheetNames.indexOf(mainSheet.getName()) == -1) return;
  var targetSheet = ss.getSheetByName('target sheet name'); // change here
  // get value
  var value = e.value;
  // set values
  targetSheet
    .getRange(targetSheet.getLastRow() + 1, 1, 1, 2)
    .setValues([[value, new Date().toLocaleString()]]);
}