Class FilterCriteria

Tiêu chíbộ lọc

Sử dụng lớp này để lấy thông tin về hoặc sao chép tiêu chí trên các bộ lọc hiện có.

Các cách dùng phổ biến

Sao chép tiêu chí

Mẫu sau đây sẽ lấy bộ lọc áp dụng cho dải ô A1:C20, lấy tiêu chí áp dụng cho cột C và sao chép tiêu chí đó vào cột B.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
// Copies the filter criteria applied to column C.
const filter = range.getFilter();
const criteria = filter.getColumnFilterCriteria(3).copy().build();
// Applies the copied criteria to column B. The copied criteria overwrites any
// existing criteria on column B.
filter.setColumnFilterCriteria(2, criteria);

Nhận các giá trị bị ẩn theo bộ lọc

Mẫu sau đây sẽ lấy bộ lọc áp dụng cho dải ô đã cho và ghi lại các giá trị từ cột B mà bộ lọc ẩn.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Gets the filter criteria applied to column B, then gets the hidden values.
const filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues();
// Logs the hidden values.
console.log(filterCriteria);

Phương thức

Phương thứcKiểu dữ liệu trả vềMô tả ngắn
copy()FilterCriteriaBuilderSao chép tiêu chí lọc này và tạo một trình tạo tiêu chí mà bạn có thể áp dụng cho một bộ lọc khác.
getCriteriaType()BooleanCriteria|nullTrả về loại boolean của tiêu chí, ví dụ: CELL_EMPTY.
getCriteriaValues()Object[]Trả về một mảng đối số cho tiêu chí boolean.
getHiddenValues()String[]Trả về các giá trị mà bộ lọc ẩn.
getVisibleBackgroundColor()Color|nullTrả về màu nền được dùng làm tiêu chí lọc.
getVisibleForegroundColor()Color|nullTrả về màu nền trước được dùng làm tiêu chí lọc.
getVisibleValues()String[]Trả về các giá trị mà bộ lọc bảng tổng hợp hiển thị.

Tài liệu chi tiết

copy()

Sao chép tiêu chí lọc này và tạo một trình tạo tiêu chí mà bạn có thể áp dụng cho một bộ lọc khác.

Bạn có thể sử dụng phương thức này với mọi loại bộ lọc. Nếu đang dùng bộ lọc trang tính, bạn có thể sao chép tiêu chí sang một cột khác.

const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Makes a copy of the filter criteria applied to column C.
const criteria = filter.getColumnFilterCriteria(3).copy().build();
// Applies the copied criteria to column B. The copied criteria overwrites any
// existing criteria on column B.
filter.setColumnFilterCriteria(2, criteria);

Cầu thủ trả bóng

FilterCriteriaBuilder – Trình tạo tiêu chí lọc dựa trên tiêu chí lọc này.


getCriteriaType()

Trả về loại boolean của tiêu chí, ví dụ: CELL_EMPTY. Để tìm hiểu về các loại tiêu chí boolean, hãy xem enum BooleanCriteria.

Mọi người thường sử dụng phương thức này để thêm tiêu chí điều kiện boolean vào bộ lọc mà không cần thay thế tiêu chí hiện có.

Bạn có thể sử dụng phương thức này cho mọi loại bộ lọc. Nếu tiêu chí lọc không phải là điều kiện boolean, thì hàm sẽ trả về null.

const ss = SpreadsheetApp.getActiveSheet();
// Gets the filter on the active sheet.
const filter = ss.getFilter();
// Gets the criteria type and returns a string representing the criteria type
// object.
const criteriaType =
    filter.getColumnFilterCriteria(2).getCriteriaType().toString();
// Logs the criteria type.
console.log(criteriaType);

Cầu thủ trả bóng

BooleanCriteria|null – Loại tiêu chí boolean hoặc null nếu tiêu chí không phải là điều kiện boolean.


getCriteriaValues()

Trả về một mảng đối số cho tiêu chí boolean. Một số loại tiêu chí boolean không có đối số và trả về một mảng trống, ví dụ: CELL_NOT_EMPTY.

Mọi người thường sử dụng phương thức này để thêm tiêu chí điều kiện boolean vào bộ lọc mà không cần thay thế tiêu chí hiện có.

  • Để lấy loại tiêu chí boolean, hãy sử dụng getCriteriaType().
  • Để sử dụng loại tiêu chí và giá trị tiêu chí để tạo hoặc sửa đổi tiêu chí lọc, hãy xem FilterCriteriaBuilder.withCriteria(criteria, args).

    Bạn có thể sử dụng phương thức này cho mọi loại bộ lọc.

    const ss = SpreadsheetApp.getActiveSheet();
    const filter = ss.getFilter();
    // Gets the values of the boolean criteria and logs them. For example, if the
    // boolean condition is whenNumberGreaterThan(10), then the logged value is 10.
    const criteriaValues = filter.getColumnFilterCriteria(2).getCriteriaValues();
    console.log(criteriaValues);

    Cầu thủ trả bóng

    Object[] – Một mảng các đối số phù hợp với loại tiêu chí boolean. Số lượng đối số và loại đối số khớp với phương thức when...() tương ứng của lớp FilterCriteriaBuilder.


getHiddenValues()

Trả về các giá trị mà bộ lọc ẩn.

Sử dụng tiêu chí này với bộ lọc trên trang tính Grid (loại trang tính mặc định). Trả về null nếu bạn gọi phương thức này cho các loại bộ lọc khác.

const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Gets the filter criteria applied to column B, then gets the hidden values.
const filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues();
// Logs the hidden values.
console.log(filterCriteria);

Cầu thủ trả bóng

String[] – Một mảng các giá trị mà bộ lọc ẩn.


getVisibleBackgroundColor()

Trả về màu nền được dùng làm tiêu chí lọc. Các ô có màu nền này vẫn hiển thị.

Sử dụng tiêu chí này với bộ lọc trên trang tính Grid (loại trang tính mặc định). Trả về null nếu bạn gọi phương thức này cho các loại bộ lọc khác.

const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
// Logs the background color that column B is filtered by as a hexadecimal
// string.
const filter = range.getFilter();
const color = filter.getColumnFilterCriteria(2)
                  .getVisibleBackgroundColor()
                  .asRgbColor()
                  .asHexString();
console.log(color);

Cầu thủ trả bóng

Color|null – Màu nền được dùng làm tiêu chí lọc.


getVisibleForegroundColor()

Trả về màu nền trước được dùng làm tiêu chí lọc. Các ô có màu nền trước này vẫn hiển thị.

Sử dụng tiêu chí này với bộ lọc trên trang tính Grid (loại trang tính mặc định). Trả về null nếu bạn gọi phương thức này cho các loại bộ lọc khác.

const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
// Logs the foreground color that column B is filtered by as a hexadecimal
// string.
const filter = range.getFilter();
const color = filter.getColumnFilterCriteria(2)
                  .getVisibleForegroundColor()
                  .asRgbColor()
                  .asHexString();
console.log(color);

Cầu thủ trả bóng

Color|null – Màu nền trước được dùng làm tiêu chí lọc.


getVisibleValues()

Trả về các giá trị mà bộ lọc bảng tổng hợp hiển thị.

Tiêu chí này chỉ dành cho bộ lọc trên những bảng tổng hợp không được kết nối với cơ sở dữ liệu. Trả về một mảng trống cho các loại bộ lọc khác.

const ss = SpreadsheetApp.getActiveSheet();
// Gets the first pivot table on the sheet, then gets the visible values of its
// first filter.
const pivotTable = ss.getPivotTables()[0];
const pivotFilterValues =
    pivotTable.getFilters()[0].getFilterCriteria().getVisibleValues();
// Logs the visible values.
console.log(pivotFilterValues);

Cầu thủ trả bóng

String[] – Một mảng các giá trị mà bộ lọc bảng tổng hợp hiển thị.