ตัวกรองช่วยให้คุณจัดเรียงและกรองข้อมูลที่เห็นเมื่อดูสเปรดชีตได้ ตัวกรองจะไม่เปลี่ยนค่าข้อมูลในสเปรดชีต คุณใช้ตัวกรองเพื่อซ่อนหรือจัดเรียงข้อมูลชั่วคราวได้ ข้อมูลที่ตรงกับเกณฑ์ตัวกรองที่ระบุจะไม่ปรากฏขณะที่ตัวกรองเปิดอยู่ มุมมองตัวกรองยังช่วยให้คุณบันทึกตัวกรองที่มีชื่อต่างกันและสลับใช้ตัวกรองเหล่านั้นได้ทุกเมื่อที่ต้องการ
ตัวอย่าง Use Case ของฟิลเตอร์มีดังนี้
- จัดเรียงข้อมูลตามคอลัมน์ใดคอลัมน์หนึ่ง เช่น จัดเรียงระเบียนผู้ใช้ตามชื่อล่าสุด
- ซ่อนข้อมูลที่ตรงกับเงื่อนไขที่เฉพาะเจาะจง เช่น ซ่อนระเบียนทั้งหมดที่มีอายุมากกว่า 2 ปี
- ซ่อนข้อมูลที่ตรงกับค่าหนึ่งๆ เช่น ซ่อนปัญหาทั้งหมดที่มีสถานะ "ปิดแล้ว"
ตัวกรองพื้นฐาน
BasicFilter
สำหรับสเปรดชีตคือตัวกรองเริ่มต้นที่จะใช้ทุกครั้งที่มีคนดูสเปรดชีต สเปรดชีตจะมีตัวกรองพื้นฐานได้ 1 รายการต่อชีต คุณปิดตัวกรองพื้นฐานได้โดยล้างตัวกรอง ซึ่งจะนำตัวกรองและการตั้งค่าทั้งหมดออกจากสเปรดชีต
หากต้องการเปิดตัวกรองเดิมอีกครั้ง คุณต้องตั้งค่าเกณฑ์อีกครั้ง
จัดการตัวกรองพื้นฐาน
หากต้องการตั้งค่าหรือล้างตัวกรองพื้นฐาน ให้ใช้วิธี spreadsheets.batchUpdate
กับคำขอประเภทที่เหมาะสม ดังนี้
- หากต้องการตั้งค่าตัวกรองพื้นฐาน ให้ใช้เมธอด
SetBasicFilterRequest
- หากต้องการล้างตัวกรองพื้นฐาน ให้ใช้เมธอด
ClearBasicFilterRequest
หากต้องการแสดงตัวกรองพื้นฐาน ให้ใช้เมธอด spreadsheets.get
และตั้งค่าพารามิเตอร์ URL fields
เป็น sheets/basicFilter
ตัวอย่างโค้ดspreadsheets.get
ต่อไปนี้แสดง URL ของ Google ชีตที่มีมาสก์ช่อง
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets/basicFilter)
มุมมองตัวกรอง
FilterView
คือตัวกรองที่มีชื่อซึ่งคุณปิดและเปิดได้ทุกเมื่อที่ต้องการ สเปรดชีตอาจมีมุมมองตัวกรองหลายมุมมอง แต่จะใช้ได้ครั้งละ 1 มุมมองเท่านั้น
ตัวอย่างกรณีการใช้งานมุมมองตัวกรองมีดังนี้
- คุณมีตัวกรองหลายรายการที่ต้องการสลับใช้เมื่อดูข้อมูล
- คุณไม่มีสิทธิ์แก้ไขสเปรดชีต แต่ยังคงต้องการใช้ตัวกรอง ในกรณีนี้ คุณสามารถสร้างมุมมองตัวกรองชั่วคราวที่มองเห็นได้เฉพาะคุณ
คุณต้องการให้บุคคลแต่ละคนที่คุณแชร์สเปรดชีตด้วยดูข้อมูลในลักษณะที่แตกต่างกัน คุณสามารถระบุมุมมองตัวกรองที่ต้องการใช้โดยระบุ
spreadsheetId
และfilterViewId
ใน URL ของสเปรดชีต โดยให้ใช้filterViewId
ที่แสดงในคำตอบเมื่อคุณสร้างมุมมองตัวกรองตัวอย่างโค้ดต่อไปนี้แสดง URL ของ Google ชีตที่มีมุมมองตัวกรอง
https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/edit#gid=0&fvid=FILTER_VIEW_ID
จัดการมุมมองตัวกรอง
หากต้องการสร้าง ทำซ้ำ แก้ไข หรือลบมุมมองตัวกรอง ให้ใช้วิธี spreadsheets.batchUpdate
กับคำขอประเภทที่เหมาะสม ดังนี้
- หากต้องการสร้างมุมมองตัวกรอง ให้ใช้เมธอด
AddFilterViewRequest
- หากต้องการทำสำเนามุมมองตัวกรอง ให้ใช้
DuplicateFilterViewRequest
วิธีนี้ - หากต้องการแก้ไขพร็อพเพอร์ตี้ของมุมมองตัวกรอง ให้ใช้วิธี
UpdateFilterViewRequest
- หากต้องการลบมุมมองตัวกรอง ให้ใช้วิธี
DeleteFilterViewRequest
หากต้องการแสดงรายการข้อมูลพร็อพเพอร์ตี้ตัวกรองทั้งหมด ให้ใช้เมธอด spreadsheets.get
และตั้งค่าพารามิเตอร์ของ URL fields
เป็น sheets/filterViews
ตัวอย่างโค้ดspreadsheets.get
ต่อไปนี้แสดง URL ของ Google ชีตที่มีมาสก์ช่อง
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets/filterViews)
การนำเสนอตัวกรอง
ตัวอย่างโค้ดต่อไปนี้แสดงการแสดง JSON สําหรับออบเจ็กต์ FilterView
ออบเจ็กต์ BasicFilter
เหมือนกัน ยกเว้นไม่มีฟิลด์ filterViewId
และ title
และไม่สามารถใช้ช่วงที่มีชื่อ
{
"filterViewId": number,
"title": string,
"range": {
object(GridRange)
},
"namedRangeId": string,
"sortSpecs": [
{
object(SortSpec)
}
],
"criteria": {
string: {
object(FilterCriteria)
},
...
}
}
ตัวอย่างข้อมูล
ส่วนที่เหลือของเอกสารนี้จะอ้างอิงถึงตารางตัวอย่างข้อมูลยอดขายด้านล่าง
A | ข | C | D | E | F | G | |
1 | หมวดหมู่รายการ | หมายเลขรุ่น | ค่าใช้จ่าย | จำนวน | ภูมิภาค | พนักงานขาย | วันที่จัดส่ง |
2 | ตั๋วขึ้นชิงช้าสวรรค์ | W-24 | $20.50 | 4 | ตะวันตก | Beth | 1/3/2016 |
3 | ประตู | D-01X | $15.00 | 2 | ใต้ | Amir | 15/3/2016 |
4 | กรอบ | FR-0B1 | $34.00 | 8 | ตะวันออก | Hannah | 12/3/2016 |
5 | แผง | P-034 | $6.00 | 4 | เหนือ | Devyn | 15/3/2016 |
6 | แผง | P-052 | $11.50 | 7 | ตะวันออก | อิริค | 16/5/2016 |
7 | ตั๋วขึ้นชิงช้าสวรรค์ | W-24 | $20.50 | 11 | ใต้ | Sheldon | 30/4/2016 |
8 | เครื่องยนต์ | ENG-0161 | $330.00 | 2 | เหนือ | Jessie | 2/7/2016 |
ข้อกำหนดการจัดเรียง
ตัวกรองอาจมีข้อกำหนดการจัดเรียงหลายรายการ ข้อกำหนดเหล่านี้จะกำหนดวิธีจัดเรียงข้อมูลและนำมาใช้ตามลำดับที่ระบุ แอตทริบิวต์ SortSpec.dimensionIndex
จะระบุดัชนีคอลัมน์ที่จะใช้การจัดเรียง
ตัวอย่างโค้ดต่อไปนี้แสดงข้อกําหนดการจัดเรียง
[
{
"dimensionIndex": 3,
"sortOrder": "ASCENDING"
},
{
"dimensionIndex": 6,
"sortOrder": "ASCENDING"
}
]
เมื่อใช้กับตัวอย่างข้อมูลยอดขาย ข้อกําหนดนี้จะจัดเรียงตาม "จํานวน" ก่อน จากนั้นจะจัดเรียงตาม "วันที่จัดส่ง" หาก 2 แถวมีจํานวนเท่ากัน
A | ข | C | D | E | F | G | |
1 | หมวดหมู่รายการ | หมายเลขรุ่น | ค่าใช้จ่าย | จำนวน | ภูมิภาค | พนักงานขาย | วันที่จัดส่ง |
2 | ประตู | D-01X | $15.00 | 2 | ใต้ | Amir | 15/3/2016 |
3 | เครื่องยนต์ | ENG-0161 | $330.00 | 2 | เหนือ | Jessie | 2/7/2016 |
4 | ตั๋วขึ้นชิงช้าสวรรค์ | W-24 | $20.50 | 4 | ตะวันตก | Beth | 1/3/2016 |
5 | แผง | P-034 | $6.00 | 4 | เหนือ | Devyn | 15/3/2016 |
6 | แผง | P-052 | $11.50 | 7 | ตะวันออก | อิริค | 16/5/2016 |
7 | กรอบ | FR-0B1 | $34.00 | 8 | ตะวันออก | Hannah | 12/3/2016 |
8 | ตั๋วขึ้นชิงช้าสวรรค์ | W-24 | $20.50 | 11 | ใต้ | Sheldon | 30/4/2016 |
เกณฑ์การกรอง
วิธีการ FilterCriteria
จะกำหนดว่าข้อมูลสเปรดชีตใดที่จะแสดงหรือซ่อนอยู่ในตัวกรองพื้นฐานหรือมุมมองตัวกรอง เกณฑ์แต่ละรายการขึ้นอยู่กับค่าในคอลัมน์ที่เฉพาะเจาะจง คุณต้องระบุเกณฑ์ตัวกรองเป็นแผนที่โดยที่คีย์คือดัชนีคอลัมน์ และค่าคือเกณฑ์
สำหรับเกณฑ์ที่ระบุโดยใช้บูลีน condition
เงื่อนไขต้องเป็น True
เพื่อให้ค่าแสดง เงื่อนไขไม่ได้ลบล้าง hiddenValues
หากค่าแสดงอยู่ใน hiddenValues
ระบบจะยังคงซ่อนรายการที่ตรงกันทั้งหมดสำหรับค่านั้น
ตัวอย่างโค้ดต่อไปนี้แสดงแผนที่เกณฑ์ตัวกรอง
{
0: {
'hiddenValues': ['Panel']
},
6: {
'condition': {
'type': 'DATE_BEFORE',
'values': {
'userEnteredValue': '4/30/2016'
}
}
}
}
เมื่อใช้กับตัวอย่างข้อมูลยอดขาย เกณฑ์นี้จะแสดงเฉพาะแถวที่ "หมวดหมู่สินค้า" ไม่ใช่ "แผง" และ "วันที่จัดส่ง" อยู่ก่อนวันที่ 30 เมษายน 2016
A | ข | C | D | E | F | G | |
1 | หมวดหมู่รายการ | หมายเลขรุ่น | ค่าใช้จ่าย | จำนวน | ภูมิภาค | พนักงานขาย | วันที่จัดส่ง |
2 | ตั๋วขึ้นชิงช้าสวรรค์ | W-24 | $20.50 | 4 | ตะวันตก | Beth | 1/3/2016 |
3 | ประตู | D-01X | $15.00 | 2 | ใต้ | Amir | 15/3/2016 |
4 | กรอบ | FR-0B1 | $34.00 | 8 | ตะวันออก | Hannah | 12/3/2016 |
ตัวอย่าง
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างมุมมองตัวกรอง ทำซ้ำ และอัปเดตเวอร์ชันที่ซ้ำกันโดยใช้ตัวอย่างข้อมูลยอดขายด้านบน