(Google sheets 脚本) 如何定期为整列添加一个值

(Google sheets script) How to add a value for the whole column at regular intervals

我是这项服务的新手,对像我这样的人来说很有用,但在 google 的脚本中并不实用。我正在寻找解决 2 个问题的一体化 google 脚本:

1) 我在下面的 google sheet 一个 table 中 "H" 字段中的每个值都应该更正,将数字 24 添加到每一行,以便在 "H".

列中获得值 42 而不是 19
  ---example of table that I have now:
  id      hour              H   T   C   M   Q
  87      10/04/2018 15:11  18  19  430 19  38

  ---example of table that I want:
  id      hour              H   T   C   M   Q
  87      10/04/2018 15:11  42  19  430 19  38

2) 我的 table 每 1 分钟刷新一次,所以我需要每 1 分钟将数字 24 重新添加到 "H" 列。

感谢那些愿意花时间帮助我的人!

您可以使用这样的函数:

function add24toH(){
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('Foglio1');
  var rg=sh.getDataRange();
  var vA=rg.getValues();
  for(var i=1;i<vA.length;i++){
    vA[i][2]+=24;//H
  }
  rg.setValues(vA);
}

您可以查找所有方法here

我所有的脚本都是 3:第一个我们在 google 工作表中导入一个 .csv 文件,第二个我们对 table 进行排序,第三个我们添加 + 24 到 "H" 列。所以现在我 post 脚本:

function importCSVFromGoogleDrive() {
var file = DriveApp.getFilesByName("*.csv").next();
var csvData = Utilities.parseCsv(file.getBlob().getDataAsString());
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(1, 1, csvData.length, 
csvData[0].length).setValues(csvData);
}

function AutoSortOnEdit() {
var sheetNames = ["Foglio1"];
var ss = SpreadsheetApp.getActiveSpreadsheet();
sheetNames.forEach(function(name) {
var sheet = ss.getSheetByName(name);
var range = sheet.getRange(2, 1, sheet.getLastRow() - 1, 
sheet.getLastColumn());
range.sort({column: 1, ascending: false});
});
}

function add24toH(){
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName('Foglio1');
var rg=sh.getDataRange();
var vA=rg.getValues();
for(var i=1;i<vA.length;i++){
vA[i][2]+=24;//H
}
rg.setValues(vA);
}

谢谢!!

此代码合并 oll-in-one 中的所有脚本

function onEdit() {
myFunction1(); // call function #1
myFunction2(); // call function #2
}