首页 > 解决方案 > 如何通过 Google 表格脚本使用过滤器工具

问题描述

我想要一个函数,它从一个单元格中获取一个值,并在我在另一张表中的过滤器中使用它来仅过滤该值。我怎样才能做到这一点?

先感谢您。

标签: functiongoogle-apps-scriptgoogle-sheetsfilterscript

解决方案


解决方案:

代码片段:

function filterValues() {
  const ss = SpreadsheetApp.getActive();
  const sourceSheet = ss.getSheetByName("Source"); // Change
  const filterSheet = ss.getSheetByName("Filter"); // Change
  const a1Notation = "A1"; // Change
  const value = sourceSheet.getRange(a1Notation).getValue();
  const filter = filterSheet.getFilter();
  const columnIndex = 2; // Change
  const filterValues = filterSheet.getRange(2,columnIndex,filterSheet.getLastRow()-1)
                                  .getValues().flat();
  const hideValues = filterValues.filter(current => current !== value);
  const filterCriteria = SpreadsheetApp.newFilterCriteria()
                                       .setHiddenValues(hideValues)
                                       .build();
  filter.setColumnFilterCriteria(columnIndex, filterCriteria);
}

笔记:

  • 在上面的示例中,用作标准的列是B, 所以columnIndex=2。此外,工作表被命名为SourceFilter,并且所需的值在A1Source。请根据您的喜好更改所有这些。

推荐阅读