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

我不知道如何仅将 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();

          }

        }


牛魔王的故事
浏览 122回答 1
1回答

哈士奇WWW

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。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript