Bộ lọc cho phép bạn sắp xếp và lọc dữ liệu mà bạn thấy khi xem bảng tính. Bộ lọc không thay đổi các giá trị dữ liệu trong bảng tính. Bạn có thể sử dụng bộ lọc để tạm thời ẩn hoặc sắp xếp thông tin. Dữ liệu khớp với tiêu chí lọc đã chỉ định sẽ không xuất hiện khi bộ lọc đang bật. Với chế độ xem bộ lọc, bạn cũng có thể lưu các bộ lọc được đặt tên khác nhau và chuyển đổi giữa các bộ lọc đó bất cứ khi nào bạn muốn.
Sau đây là một số ví dụ về trường hợp sử dụng bộ lọc:
- Sắp xếp dữ liệu theo một cột cụ thể. Ví dụ: sắp xếp hồ sơ người dùng theo họ.
- Ẩn dữ liệu đáp ứng một điều kiện cụ thể. Ví dụ: ẩn tất cả bản ghi cũ hơn 2 năm.
- Ẩn dữ liệu khớp với một giá trị nhất định. Ví dụ: ẩn tất cả vấn đề có trạng thái "đã đóng".
Bộ lọc cơ bản
BasicFilter
của bảng tính là bộ lọc mặc định được áp dụng bất cứ khi nào có người xem bảng tính. Mỗi trang trong bảng tính có thể có một bộ lọc cơ bản. Bạn có thể tắt bộ lọc cơ bản bằng cách xoá bộ lọc đó. Thao tác này sẽ xoá bộ lọc và mọi chế độ cài đặt của bộ lọc đó khỏi bảng tính.
Nếu muốn bật lại bộ lọc đó, bạn phải đặt lại tiêu chí.
Quản lý bộ lọc cơ bản
Để đặt hoặc xoá bộ lọc cơ bản, hãy dùng phương thức spreadsheets.batchUpdate
với loại yêu cầu thích hợp:
- Để đặt bộ lọc cơ bản, hãy sử dụng phương thức
SetBasicFilterRequest
. - Để xoá bộ lọc cơ bản, hãy sử dụng phương thức
ClearBasicFilterRequest
.
Để liệt kê bộ lọc cơ bản, hãy sử dụng phương thức spreadsheets.get
và đặt tham số URL fields
thành sheets/basicFilter
. Mẫu mã spreadsheets.get
sau đây cho thấy một URL của Google Trang tính có mặt nạ trường:
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets/basicFilter)
Chế độ xem dạng lọc
FilterView
là một bộ lọc có tên mà bạn có thể bật và tắt bất cứ khi nào bạn muốn. Một bảng tính có thể có nhiều chế độ xem bộ lọc, nhưng bạn chỉ có thể áp dụng một chế độ xem tại một thời điểm.
Sau đây là một số ví dụ về trường hợp sử dụng chế độ xem bộ lọc:
- Bạn có một số bộ lọc khác nhau mà bạn muốn chuyển đổi giữa các bộ lọc khi xem dữ liệu.
- Bạn không có quyền chỉnh sửa bảng tính nhưng vẫn muốn áp dụng bộ lọc. Trong trường hợp này, bạn có thể tạo một chế độ xem bộ lọc tạm thời mà chỉ bạn mới nhìn thấy.
Bạn muốn mỗi người mà bạn chia sẻ bảng tính đều xem dữ liệu theo cách khác nhau. Bạn có thể chỉ định chế độ xem bộ lọc mà bạn muốn áp dụng bằng cách cung cấp
spreadsheetId
vàfilterViewId
trong URL của bảng tính. Để làm như vậy, hãy sử dụngfilterViewId
được trả về trong phản hồi khi bạn tạo chế độ xem bộ lọc.Mã mẫu sau đây cho thấy một URL Google Trang tính có chế độ xem bộ lọc:
https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/edit#gid=0&fvid=FILTER_VIEW_ID
Quản lý chế độ xem bộ lọc
Để tạo, sao chép, sửa đổi hoặc xoá chế độ xem bộ lọc, hãy sử dụng phương thức spreadsheets.batchUpdate
với loại yêu cầu thích hợp:
- Để tạo chế độ xem bộ lọc, hãy sử dụng phương thức
AddFilterViewRequest
. - Để sao chép một chế độ xem bộ lọc, hãy sử dụng phương thức
DuplicateFilterViewRequest
. - Để sửa đổi các thuộc tính của một chế độ xem bộ lọc, hãy sử dụng phương thức
UpdateFilterViewRequest
. - Để xoá một chế độ xem được lọc, hãy sử dụng phương thức
DeleteFilterViewRequest
.
Để liệt kê tất cả các chế độ xem bộ lọc, hãy sử dụng phương thức spreadsheets.get
và đặt tham số URL fields
thành sheets/filterViews
. Mẫu mã spreadsheets.get
sau đây cho thấy một URL của Google Trang tính có mặt nạ trường:
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets/filterViews)
Biểu diễn bộ lọc
Mẫu mã sau đây minh hoạ biểu thị JSON cho một đối tượng FilterView
. Đối tượng BasicFilter
cũng tương tự, ngoại trừ việc đối tượng này không có các trường filterViewId
và title
, đồng thời không thể sử dụng dải ô được đặt tên.
{
"filterViewId": number,
"title": string,
"range": {
object(GridRange)
},
"namedRangeId": string,
"sortSpecs": [
{
object(SortSpec)
}
],
"criteria": {
string: {
object(FilterCriteria)
},
...
}
}
Dữ liệu mẫu
Phần còn lại của tài liệu này tham chiếu đến bảng dữ liệu bán hàng mẫu bên dưới:
A | B | C | D | E | F | G | |
1 | Danh mục mặt hàng | Số kiểu máy | Chi phí | Số lượng | Khu vực | Nhân viên bán hàng | Ngày giao hàng |
2 | Bánh xe | W-24 | 20,5 USD | 4 | Tây | Beth | 1/3/2016 |
3 | Cửa ra vào | D-01X | 15 USD | 2 | Nam | Amir | 15/3/2016 |
4 | Khung | FR-0B1 | 34 USD | 8 | Đông | Hannah | 12/3/2016 |
5 | Bảng điều khiển | P-034 | 6 USD | 4 | Bắc | Devyn | 15/3/2016 |
6 | Bảng điều khiển | P-052 | 115.000 VND | 7 | Đông | Erik | 16/5/2016 |
7 | Bánh xe | W-24 | 20,5 USD | 11 | Nam | Sheldon | 30/4/2016 |
8 | Động cơ | ENG-0161 | 330 USD | 2 | Bắc | Jessie | 2/7/2016 |
Quy cách sắp xếp
Một bộ lọc có thể có nhiều quy cách sắp xếp. Các quy cách này xác định cách sắp xếp dữ liệu và được áp dụng theo thứ tự đã chỉ định. Thuộc tính SortSpec.dimensionIndex
chỉ định chỉ mục cột mà tiêu chí sắp xếp sẽ được áp dụng.
Mã mẫu sau đây cho thấy một quy cách sắp xếp:
[
{
"dimensionIndex": 3,
"sortOrder": "ASCENDING"
},
{
"dimensionIndex": 6,
"sortOrder": "ASCENDING"
}
]
Khi áp dụng cho dữ liệu bán hàng mẫu, quy cách này sẽ sắp xếp theo "Số lượng" trước, sau đó, nếu 2 hàng có cùng số lượng, thì sẽ sắp xếp theo "Ngày vận chuyển".
A | B | C | D | E | F | G | |
1 | Danh mục mặt hàng | Số kiểu máy | Chi phí | Số lượng | Khu vực | Nhân viên bán hàng | Ngày giao hàng |
2 | Cửa ra vào | D-01X | 15 USD | 2 | Nam | Amir | 15/3/2016 |
3 | Động cơ | ENG-0161 | 330 USD | 2 | Bắc | Jessie | 2/7/2016 |
4 | Bánh xe | W-24 | 20,5 USD | 4 | Tây | Beth | 1/3/2016 |
5 | Bảng điều khiển | P-034 | 6 USD | 4 | Bắc | Devyn | 15/3/2016 |
6 | Bảng điều khiển | P-052 | 115.000 VND | 7 | Đông | Erik | 16/5/2016 |
7 | Khung | FR-0B1 | 34 USD | 8 | Đông | Hannah | 12/3/2016 |
8 | Bánh xe | W-24 | 20,5 USD | 11 | Nam | Sheldon | 30/4/2016 |
Tiêu chí lọc
Phương thức FilterCriteria
xác định dữ liệu nào trong bảng tính sẽ xuất hiện hoặc bị ẩn trong bộ lọc cơ bản hoặc chế độ xem bộ lọc. Mỗi tiêu chí phụ thuộc vào các giá trị trong một cột cụ thể. Bạn cung cấp tiêu chí lọc dưới dạng một bản đồ, trong đó các khoá là chỉ mục cột và các giá trị là tiêu chí.
Đối với tiêu chí được chỉ định bằng giá trị boolean condition
, điều kiện phải là True
để các giá trị xuất hiện. Điều kiện này không ghi đè hiddenValues
. Nếu một giá trị được liệt kê trong hiddenValues
, thì tất cả các kết quả trùng khớp cho một giá trị vẫn bị ẩn.
Mã mẫu sau đây cho thấy một bản đồ tiêu chí lọc:
{
0: {
'hiddenValues': ['Panel']
},
6: {
'condition': {
'type': 'DATE_BEFORE',
'values': {
'userEnteredValue': '4/30/2016'
}
}
}
}
Khi áp dụng cho dữ liệu bán hàng mẫu, tiêu chí này chỉ hiển thị những hàng có "Danh mục mặt hàng" không phải là "Tấm" và "Ngày vận chuyển" trước ngày 30 tháng 4 năm 2016.
A | B | C | D | E | F | G | |
1 | Danh mục mặt hàng | Số kiểu máy | Chi phí | Số lượng | Khu vực | Nhân viên bán hàng | Ngày giao hàng |
2 | Bánh xe | W-24 | 20,5 USD | 4 | Tây | Beth | 1/3/2016 |
3 | Cửa ra vào | D-01X | 15 USD | 2 | Nam | Amir | 15/3/2016 |
4 | Khung | FR-0B1 | 34 USD | 8 | Đông | Hannah | 12/3/2016 |
Mẫu
Mẫu mã sau đây cho biết cách tạo một khung hiển thị bộ lọc, sao chép khung hiển thị đó rồi cập nhật phiên bản đã sao chép bằng cách sử dụng dữ liệu bán hàng mẫu ở trên.