根据 Google Sheet 中的值清除行数据(特定数据)appscript
Clear Row Data Based on Value in Google Sheet ( Specific Data ) appscript
我正在寻找基于值的基础清除特定行 content/data 然后隐藏行。
在 { F Col } 中键入值“完成” { E , C Col } 的清除值
当一切都完成后隐藏行。
function ClearContentThenHideRow() {
var s = SpreadsheetApp.getActive().getSheetByName('Main');
s.showRows(1, s.getMaxRows());
s.getRange('F:F')
.getValues()
.forEach( function (r, i) {
if (r[0] == 'Done')
//sheet.getRange(["C:C","E:E"]).clearContent(); // clear content not working
s.hideRows(i + 1);
});
}
修改点:
- 关于
sheet.getRange(["C:C","E:E"]).clearContent();
,
sheet
未声明。
- 如果要使用范围列表,请使用
getRangeList()
。
- 当用
s.getRange('F1:F' + s.getLastRow())
代替s.getRange('F:F')
时,我认为工艺成本可以降低一点。
当以上几点反映到你的脚本中,就会变成下面这样。
修改后的脚本:
function ClearContentThenHideRow() {
var s = SpreadsheetApp.getActive().getSheetByName('Main');
// s.showRows(1, s.getMaxRows()); <--- removed
s.getRange('F1:F' + s.getLastRow())
.getValues()
.forEach(function (r, i) {
if (r[0] == 'Done') {
s.getRangeList(["C" + (i + 1), "E" + (i + 1)]).clearContent();
s.hideRows(i + 1);
}
});
}
参考:
我正在寻找基于值的基础清除特定行 content/data 然后隐藏行。
在 { F Col } 中键入值“完成” { E , C Col } 的清除值
当一切都完成后隐藏行。
function ClearContentThenHideRow() {
var s = SpreadsheetApp.getActive().getSheetByName('Main');
s.showRows(1, s.getMaxRows());
s.getRange('F:F')
.getValues()
.forEach( function (r, i) {
if (r[0] == 'Done')
//sheet.getRange(["C:C","E:E"]).clearContent(); // clear content not working
s.hideRows(i + 1);
});
}
修改点:
- 关于
sheet.getRange(["C:C","E:E"]).clearContent();
,sheet
未声明。- 如果要使用范围列表,请使用
getRangeList()
。
- 当用
s.getRange('F1:F' + s.getLastRow())
代替s.getRange('F:F')
时,我认为工艺成本可以降低一点。
当以上几点反映到你的脚本中,就会变成下面这样。
修改后的脚本:
function ClearContentThenHideRow() {
var s = SpreadsheetApp.getActive().getSheetByName('Main');
// s.showRows(1, s.getMaxRows()); <--- removed
s.getRange('F1:F' + s.getLastRow())
.getValues()
.forEach(function (r, i) {
if (r[0] == 'Done') {
s.getRangeList(["C" + (i + 1), "E" + (i + 1)]).clearContent();
s.hideRows(i + 1);
}
});
}