Dav*_*eB1 2 javascript google-sheets google-apps-script
我正在尝试在编辑时运行一个函数,该函数将在一系列单元格中查找值“c”,然后将其替换为单词“Closed”。
这是我到目前为止所拥有的:
function onEdit(e) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var data = sheet.getRange('CA12:CA15').getValues();
var closed = 'c'
for(var i=0; i<data.length;i++) {
if(data[i] == closed) {
Logger.log('yes')
Logger.log(data[i]);
}
}
}
Run Code Online (Sandbox Code Playgroud)
因此,当我在给定范围内获得该值时,这将成功记录“yes”和值“c”。但现在我该如何替换这个值呢?
我尝试使用 getRange() 存储 data[i] 的范围,但它不允许我这样做。如果我能得到这个范围,那么我知道我可以使用 range.setValue('Closed') 但目前有点卡住。我知道我正在做一些非常简单非常错误的事情,但任何帮助都会很棒。
getValues返回按行排序然后按列排序的二维数组。您正在访问一维数组data[i]i数组索引+起始行等于循环中的当前行。if(data[i][0] == closed) { //2D
sheet.getRange('CA'+(12+i)).setValue('Closed');
}
Run Code Online (Sandbox Code Playgroud)
var rng =sheet.getRange('CA12:CA15');
var data = rng.getValues();
var output = data.map(function(e) { return e[0] == closed ? ['Closed'] : e });
rng.setValues(output); //Single call
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15345 次 |
| 最近记录: |