为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Google表格中为特定激活值空列过滤器使用if条件以进行宏

如何在Google表格中为特定激活值空列过滤器使用if条件以进行宏

牛魔王的故事 2022-05-26 14:08:06
我不知道如何仅将 e 列过滤器用于 if 条件。从 b1 到 e1 4 列过滤器处于活动状态。如果 e 过滤器为空,我想检查 if 条件。然后 if 应该被执行,否则 else。否则清空过滤器。这是不起作用的代码。        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();          }        }
查看完整描述

1 回答

?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

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


查看完整回答
反对 回复 2022-05-26
  • 1 回答
  • 0 关注
  • 86 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号