我在googlesheet上有一张表,里面有很多行和列。
我想清除 B 列中值为 0 的单元格。
我写了这段代码,但它不起作用,我不是 JavaScript 专家:|
function clean0() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getDisplayValues();
if(data == "0"){
sheet.getRange('B:B').clearContent();
}
}
我的错误在哪里?
感谢您的帮助:)
您要清除值为"0"的列 B 的单元格的单元格内容。如果我的理解是正确的,那么这个修改怎么样?我认为您的情况有几个答案。因此,请将其视为其中之一。
修改点:
- 检索"B:B"的值。
- 当检索到的值为"0"时检索范围。
- 清除检索到的范围的内容。
修改后的脚本:
function clean0() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getRange('B:B').getDisplayValues();
var range = [];
data.forEach(function(e, i){
if (e[0] == "0") range.push("B" + (i + 1));
});
sheet.getRangeList(range).clearContent();
}
参考:
- getRangeList((
- 此方法是在 2018 年 4 月 11 日添加的。
如果我误解了你的问题,我很抱歉。