เอกสารนี้เกี่ยวกับการใช้ตัวกรองเพื่อจัดเรียงและกรองข้อมูลที่แสดงในสเปรดชีต
ตัวกรองช่วยให้คุณจัดเรียงและกรองข้อมูลที่เห็นเมื่อดูสเปรดชีตได้ ตัวกรองจะไม่เปลี่ยนค่าข้อมูลในสเปรดชีต คุณใช้ตัวกรองเพื่อซ่อนหรือจัดเรียงข้อมูลชั่วคราวได้ ข้อมูลที่ตรงกับ เกณฑ์การกรองที่ระบุจะไม่ปรากฏขึ้นขณะที่ตัวกรองเปิดอยู่ นอกจากนี้ มุมมองตัวกรองยังช่วยให้คุณบันทึกตัวกรองต่างๆ ที่ตั้งชื่อไว้ และสลับไปมาระหว่างตัวกรองเหล่านั้นได้ทุกเมื่อที่ต้องการ
หากต้องการกรองข้อมูลที่แสดงผลในการเรียกใช้ Google Sheets API ให้ใช้
DataFilter ออบเจ็กต์ ดูข้อมูลเพิ่มเติมได้ที่อ่าน เขียน และค้นหา
ข้อมูลเมตา
กรณีการใช้งานตัวกรอง
ตัวอย่างกรณีการใช้งานตัวกรองมีดังนี้
- จัดเรียงข้อมูลตามคอลัมน์ใดคอลัมน์หนึ่ง เช่น จัดเรียงระเบียนผู้ใช้ตามนามสกุล
- ซ่อนข้อมูลที่ตรงตามเงื่อนไขที่เฉพาะเจาะจง เช่น ซ่อนระเบียนทั้งหมดที่มีอายุกว่า 2 ปี
- ซ่อนข้อมูลที่ตรงกับค่าที่กำหนด เช่น ซ่อนปัญหาทั้งหมดที่มีสถานะ "ปิดแล้ว"
ตัวกรองพื้นฐาน
ออบเจ็กต์
BasicFilter
สำหรับสเปรดชีตคือตัวกรองเริ่มต้นที่จะใช้ทุกครั้งที่มีคน
ดูสเปรดชีต สเปรดชีตจะมีตัวกรองพื้นฐานได้เพียงรายการเดียวต่อ
ชีต คุณปิดตัวกรองพื้นฐานได้โดยล้างตัวกรอง ซึ่งจะนำตัวกรองและการตั้งค่าทั้งหมดของตัวกรองออกจากสเปรดชีต หากต้องการเปิดตัวกรองเดิมอีกครั้ง คุณต้องตั้งค่าเกณฑ์อีกครั้ง
จัดการตัวกรองพื้นฐาน
หากต้องการตั้งค่าหรือล้างตัวกรองพื้นฐาน ให้ใช้
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
มุมมองตัวกรอง
A
FilterView
คือตัวกรองที่ตั้งชื่อไว้ซึ่งคุณสามารถเปิดและปิดได้ทุกเมื่อที่ต้องการ ชีตสามารถบันทึกมุมมองตัวกรองได้หลายรายการ แต่คุณจะใช้ได้ครั้งละ 1 รายการเท่านั้น นอกจากนี้ ชีตยังสามารถมีทั้งตัวกรองพื้นฐานและมุมมองตัวกรองหลายรายการ แต่คุณจะใช้ทั้ง 2 อย่างพร้อมกันในช่วงข้อมูลเดียวกันไม่ได้
กรณีการใช้งานมุมมองตัวกรอง
ตัวอย่างกรณีการใช้งานมุมมองตัวกรองมีดังนี้
- คุณมีตัวกรองหลายรายการที่ต้องการสลับไปมาเมื่อดูข้อมูล
- คุณไม่มีสิทธิ์แก้ไขสเปรดชีต แต่ยังต้องการใช้ตัวกรอง ในกรณีนี้ คุณสามารถสร้างมุมมองตัวกรองชั่วคราวที่มองเห็นได้เฉพาะคุณ
คุณต้องการให้แต่ละคนที่คุณแชร์สเปรดชีตด้วยดูข้อมูลแตกต่างกัน คุณสามารถระบุมุมมองตัวกรองที่ต้องการใช้ได้โดยระบุ the
spreadsheetIdและfilterViewIdใน URL ของสเปรดชีต หากต้องการทำเช่นนั้น ให้ใช้filterViewIdที่แสดงผลในการตอบกลับเมื่อคุณสร้างมุมมองตัวกรองตัวอย่างโค้ดต่อไปนี้แสดง URL ของชีตที่มีมุมมองตัวกรอง
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 ของชีตที่มีฟิลด์
มาสก์:
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets/filterViews
การแสดงตัวกรองเป็น JSON
ตัวอย่างโค้ดต่อไปนี้แสดงการแสดงออบเจ็กต์
FilterView
เป็น JSON ออบเจ็กต์
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 | ตะวันตก | เบธ | 1/3/2016 |
| 3 | ประตู | D-01X | $15.00 | 2 | ใต้ | อามีร์ | 15/3/2016 |
| 4 | กรอบ | FR-0B1 | $34.00 | 8 | ตะวันออก | ฮันนาห์ | 12/3/2016 |
| 5 | แผง | P-034 | $6.00 | 4 | เหนือ | เดวิน | 15/3/2016 |
| 6 | แผง | P-052 | $11.50 | 7 | ตะวันออก | อิริค | 16/5/2016 |
| 7 | ตั๋วขึ้นชิงช้าสวรรค์ | W-24 | $20.50 | 11 | ใต้ | เชลดอน | 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 | ใต้ | อามีร์ | 15/3/2016 |
| 3 | เครื่องมือค้นหา | ENG-0161 | $330.00 | 2 | เหนือ | Jessie | 2/7/2016 |
| 4 | ตั๋วขึ้นชิงช้าสวรรค์ | W-24 | $20.50 | 4 | ตะวันตก | เบธ | 1/3/2016 |
| 5 | แผง | P-034 | $6.00 | 4 | เหนือ | เดวิน | 15/3/2016 |
| 6 | แผง | P-052 | $11.50 | 7 | ตะวันออก | อิริค | 16/5/2016 |
| 7 | กรอบ | FR-0B1 | $34.00 | 8 | ตะวันออก | ฮันนาห์ | 12/3/2016 |
| 8 | ตั๋วขึ้นชิงช้าสวรรค์ | W-24 | $20.50 | 11 | ใต้ | เชลดอน | 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 | ตะวันตก | เบธ | 1/3/2016 |
| 3 | ประตู | D-01X | $15.00 | 2 | ใต้ | อามีร์ | 15/3/2016 |
| 4 | กรอบ | FR-0B1 | $34.00 | 8 | ตะวันออก | ฮันนาห์ | 12/3/2016 |
ตัวอย่างโค้ดมุมมองตัวกรอง
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างมุมมองตัวกรอง ทำซ้ำมุมมองตัวกรอง และ อัปเดตเวอร์ชันที่ทำซ้ำโดยใช้ข้อมูลยอดขายตัวอย่าง