(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
}
我是这项服务的新手,对像我这样的人来说很有用,但在 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
}