(Google表脚本)如何定期为整列添加值

时间:2018-04-10 16:31:31

标签: google-apps-script refresh calculated-columns

我在这项服务中的新功能对像我这样在google脚本中不实用的人很有用。我正在寻找一体化谷歌脚本来解决2个问题:

1)我在下面的谷歌表中有一个表格,其中的每一个值都在" H"字段,应更正为每行添加数字24,以便在列#34; 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)我的表每1分钟刷新一次,所以我需要将数字24重新添加到" H"每1分钟一栏。

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

3 个答案:

答案 0 :(得分:0)

您可以使用以下功能:

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

答案 1 :(得分:0)

我的所有脚本都是3:首先我们在google工作表中导入一个.csv文件,第二个我们对表格进行排序,而第三个我们将+24添加到&#34; H&#34 ;柱。所以现在我发布剧本:

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);
}

谢谢!

答案 2 :(得分:0)

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

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