我不知道如何仅将e列过滤器用于if条件。从b1到e1 4列过滤器处于活动状态。我想用if条件检查e过滤器是否为空。然后,如果应该执行,否则执行。否则清空过滤器。这是无效的代码。
function myFunction() {
if (SpreadsheetApp.getActive().getActiveSheet().getRange('E1').getFilter() == null) {
var spreadsheet = SpreadsheetApp.getActive();
var criteria = SpreadsheetApp.newFilterCriteria()
.whenCellNotEmpty()
.build();
spreadsheet.getActiveSheet().getFilter().setColumnFilterCriteria(5, criteria);
spreadsheet.getRange('E1').activate();
spreadsheet.getCurrentCell().offset(2, 0).activate();
}
else {
var spreadsheet = SpreadsheetApp.getActive();
var criteria = SpreadsheetApp.newFilterCriteria()
.build();
spreadsheet.getActiveSheet().getFilter().setColumnFilterCriteria(5, criteria);
spreadsheet.getRange('B1').activate();
spreadsheet.getCurrentCell().offset(2, 0).activate();
}
}
ColumnFilterCriteria
在列E中包含一个修改线
if (SpreadsheetApp.getActive().getActiveSheet().getRange('E1').getFilter() == null)
至
if (SpreadsheetApp.getActive().getActiveSheet().getFilter().getColumnFilterCriteria(5) == null) {
说明:
如果将过滤器应用于包括E列在内的整个电子表格/数据范围getFilter() == null)
,即使E列不存在过滤条件,也将永远无法实现。
相反,您需要使用getColumnFilterCriteria(5)
将返回过滤条件o的方法null
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句