ตัวกรองช่วยให้คุณจัดเรียงและกรองข้อมูลที่เห็นเมื่อดูสเปรดชีต ตัวกรองจะไม่เปลี่ยนค่าของข้อมูลในสเปรดชีต คุณสามารถใช้ตัวกรองเพื่อซ่อนหรือจัดเรียงข้อมูลเป็นการชั่วคราว ข้อมูลที่ตรงกับเกณฑ์ตัวกรองที่ระบุจะไม่ปรากฏขณะที่ตัวกรองเปิดอยู่ เมื่อใช้มุมมองตัวกรอง คุณยังสามารถบันทึกตัวกรองต่างๆ ที่มีชื่อ และสลับไปมาระหว่างตัวกรองเหล่านั้นได้ทุกเมื่อที่ต้องการ
ตัวอย่างกรณีการใช้งานสำหรับตัวกรองมีดังนี้
- จัดเรียงข้อมูลตามคอลัมน์ใดคอลัมน์หนึ่ง เช่น จัดเรียงบันทึกผู้ใช้ตามนามสกุล
- ซ่อนข้อมูลที่ตรงตามเงื่อนไขที่ระบุ เช่น ซ่อนบันทึกทั้งหมด ที่มีอายุเกิน 2 ปี
- ซ่อนข้อมูลที่ตรงกับค่าบางค่า เช่น ซ่อนปัญหาทั้งหมด ที่มีสถานะเป็น "ปิด"
ตัวกรองพื้นฐาน
BasicFilter
สำหรับสเปรดชีตคือตัวกรองเริ่มต้น ซึ่งจะมีผลทุกครั้งที่ผู้ใช้ดูสเปรดชีต สเปรดชีต 1 แผ่นจะมีตัวกรองพื้นฐานได้ 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)
},
...
}
}
ตัวอย่างข้อมูล
ส่วนที่เหลือของเอกสารนี้อ้างอิงตัวอย่างตารางข้อมูลการขายด้านล่าง
ก | B | C | D | จ. | F | G | |
1 | Item Category | หมายเลขรุ่น | ค่าใช้จ่าย | จำนวน | ภูมิภาค | พนักงานขาย | วันที่จัดส่ง |
2 | ตั๋วขึ้นชิงช้าสวรรค์ | W-24 | 205.00 THB | 4 | ตะวันตก | เบธ | 1/3/2016 |
3 | ประตู | D-01X | 450 บาท | 2 | ใต้ | อาเมียร์ | 15/3/2016 |
4 | กรอบ | ฝรั่งเศส-0ข1 | 340.00 THB | 8 | ตะวันออก | วรรณา | 12/3/2016 |
5 | แผง | P-034 | $6.00 | 4 | เหนือ | เดวิน | 15/3/2016 |
6 | แผง | P-052 | 335 บาท | 7 | ตะวันออก | อิริค | 16/5/2016 |
7 | ตั๋วขึ้นชิงช้าสวรรค์ | W-24 | 205.00 THB | 11 | ใต้ | เชลดอน | 30/4/2016 |
8 | เครื่องยนต์ | ENG-0161 | 330.00 บาท | 2 | เหนือ | เจสซี่ | 2/7/2016 |
จัดเรียงข้อกำหนด
ตัวกรอง 1 รายการมีข้อกำหนดการจัดเรียงได้หลายรายการ ข้อกำหนดเหล่านี้จะกำหนดวิธีจัดเรียงข้อมูลและนำไปใช้ตามลำดับที่ระบุ แอตทริบิวต์ SortSpec.dimensionIndex
ระบุดัชนีคอลัมน์ที่ใช้การจัดเรียง
ตัวอย่างโค้ดต่อไปนี้แสดงข้อกำหนดการจัดเรียง
[
{
"dimensionIndex": 3,
"sortOrder": "ASCENDING"
},
{
"dimensionIndex": 6,
"sortOrder": "ASCENDING"
}
]
เมื่อใช้กับตัวอย่างข้อมูลการขาย ข้อกำหนดนี้จะจัดเรียงตาม "จำนวน" ก่อน จากนั้นหาก 2 แถวมีจำนวนเท่ากัน ให้ใช้ "วันที่จัดส่ง"
ก | B | C | D | จ. | F | G | |
1 | Item Category | หมายเลขรุ่น | ค่าใช้จ่าย | จำนวน | ภูมิภาค | พนักงานขาย | วันที่จัดส่ง |
2 | ประตู | D-01X | 450 บาท | 2 | ใต้ | อาเมียร์ | 15/3/2016 |
3 | เครื่องยนต์ | ENG-0161 | 330.00 บาท | 2 | เหนือ | เจสซี่ | 2/7/2016 |
4 | ตั๋วขึ้นชิงช้าสวรรค์ | W-24 | 205.00 THB | 4 | ตะวันตก | เบธ | 1/3/2016 |
5 | แผง | P-034 | $6.00 | 4 | เหนือ | เดวิน | 15/3/2016 |
6 | แผง | P-052 | 335 บาท | 7 | ตะวันออก | อิริค | 16/5/2016 |
7 | กรอบ | ฝรั่งเศส-0ข1 | 340.00 THB | 8 | ตะวันออก | วรรณา | 12/3/2016 |
8 | ตั๋วขึ้นชิงช้าสวรรค์ | W-24 | 205.00 THB | 11 | ใต้ | เชลดอน | 30/4/2016 |
เกณฑ์การกรอง
เมธอด FilterCriteria
จะกำหนดข้อมูลสเปรดชีตที่แสดงหรือซ่อนในตัวกรองพื้นฐานหรือมุมมองตัวกรอง เกณฑ์แต่ละรายการจะขึ้นอยู่กับค่าในคอลัมน์ที่เฉพาะเจาะจง คุณจะกำหนดเกณฑ์ตัวกรองเป็นแมปโดยที่คีย์เป็นดัชนีคอลัมน์ และค่าเป็นเกณฑ์
สำหรับเกณฑ์ที่ระบุโดยใช้บูลีน condition
เงื่อนไขต้องเป็น True
ค่าจึงจะปรากฏขึ้น เงื่อนไขจะไม่ลบล้าง hiddenValues
หากค่าใดแสดงอยู่ใต้ hiddenValues
รายการที่ตรงกันทั้งหมดสำหรับค่าหนึ่งจะยังคงซ่อนอยู่
ตัวอย่างโค้ดต่อไปนี้จะแสดงแมปเกณฑ์ตัวกรอง
{
0: {
'hiddenValues': ['Panel']
},
6: {
'condition': {
'type': 'DATE_BEFORE',
'values': {
'userEnteredValue': '4/30/2016'
}
}
}
}
เมื่อใช้กับตัวอย่างข้อมูลการขาย เกณฑ์นี้จะแสดงเฉพาะแถวที่ "หมวดหมู่สินค้า" ไม่ใช่ "แผง" และ "วันที่จัดส่ง" คือก่อนวันที่ 30 เมษายน 2016
ก | B | C | D | จ. | F | G | |
1 | Item Category | หมายเลขรุ่น | ค่าใช้จ่าย | จำนวน | ภูมิภาค | พนักงานขาย | วันที่จัดส่ง |
2 | ตั๋วขึ้นชิงช้าสวรรค์ | W-24 | 205.00 THB | 4 | ตะวันตก | เบธ | 1/3/2016 |
3 | ประตู | D-01X | 450 บาท | 2 | ใต้ | อาเมียร์ | 15/3/2016 |
4 | กรอบ | ฝรั่งเศส-0ข1 | 340.00 THB | 8 | ตะวันออก | วรรณา | 12/3/2016 |
ตัวอย่าง
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างมุมมองตัวกรอง ทำซ้ำ แล้วอัปเดตเวอร์ชันที่ทำซ้ำโดยใช้ตัวอย่างข้อมูลยอดขายด้านบน