【发布时间】:2019-01-01 00:55:16
【问题描述】:
我正在努力通过 Google Apps 脚本设置过滤器。根据我的研究,我得出的结论是,虽然.setVisibleValues() 被列为可用,但它尚不受支持。以编程方式过滤列的唯一方法是使用.setHiddenValues()。这带来了挑战,因为可能需要隐藏数百个值。
在下面的示例代码中,我选择在第 12 列 (L) 中排除值一、二、三、五、六和七。如果该列中只有七个值,则应该返回一个过滤后的数据集,L 列中只有“四个”。
function testFilter() {
var spreadsheet = SpreadsheetApp.getActive();
var criteria = SpreadsheetApp.newFilterCriteria()
.setHiddenValues(['One', 'Two', 'Three', 'Five', 'Six', 'Seven'])
.build();
spreadsheet.getActiveSheet().getFilter().setColumnFilterCriteria(12, criteria);
};
如果使用.setHiddenValues() 是唯一的方法,我的想法是建立一个项目列表以排除不包含某个或多个值的项目。换句话说,如果 L 列中的值不等于“四”,则包含在 .setHiddenValues() 的列表中。我想这需要一个循环,但我想看看想法是什么。我对 GAS 还很陌生,所以我不确定如何构建一个有效的循环来实现这一点。有没有更好的方法来设置过滤器?
【问题讨论】:
标签: google-apps-script google-sheets filtering