【发布时间】:2018-01-03 11:04:00
【问题描述】:
总的来说,我对脚本编写非常陌生,尤其是在 GAS 方面,并且希望确保我能养成良好的习惯。我写了一个 for 循环脚本,它本质上做了以下事情:
- 从第 2 行开始读取 A 列
- 如果for循环中当前单元格上方的单元格值相同,则清除当前单元格右侧相邻单元格的内容。
例如
单元格 A1 包含“某物”。单元格 B1 包含“令人兴奋”
单元格 A2 包含“新”。单元格 B2 包含“X”
单元格 A3 包含“新建”。单元格 B3 包含“Y”
由于 A3 与单元格 A2 具有相同的值(该值为“新”),因此单元格 B3(当前值为“Y”)被清除,因此单元格 B3 中没有值。
运行起来似乎需要很长时间,我相信这是由于我的新手写作,我想让这个脚本尽可能高效。
各位脚本大神有什么建议可以让这个脚本更高效吗?
如果任何建议对我自己的理解更有效,我也将不胜感激,以便以后碰巧找到此帖子的任何人也可以理解它。
这是脚本:
function testCode() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Test 1");
var source = sheet.getRange("A2:A");
for (i = 2; i < source.getLastRow(); i++) {
var currentCell = sheet.getRange(i,1).getValue();
var cellAbove = sheet.getRange(i-1,1).getValue();
var cellRight = sheet.getRange(i,2);
if (currentCell == cellAbove){
cellRight.clearContent(),({contentsOnly:true});
}
}
}
谢谢你
【问题讨论】:
标签: javascript optimization google-apps-script google-sheets