FILTER กรองข้อมูลจาก Array ตามเงื่อนไขที่กำหนด แล้ว return เป็น Spill Range ที่ขยายอัตโนมัติ เป็น Dynamic Array Function ที่เปลี่ยนวิธีการทำงานกับข้อมูลใน Excel รองรับเงื่อนไขหลายตัว (AND/OR) และสามารถใช้ร่วมกับ SORT UNIQUE XLOOKUP เพื่อสร้างรายงานที่อัปเดตอัตโนมัติ
=FILTER(array, include, [if_empty])
=FILTER(array, include, [if_empty])
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| array | Range/Array | Yes | ช่วงข้อมูลที่ต้องการกรอง (ทั้งตารางหรือบางคอลัมน์) | |
| include | Boolean Array | Yes | เงื่อนไข TRUE/FALSE ที่มีจำนวนแถวเท่ากับ array (TRUE = เอา, FALSE = ไม่เอา) | |
| if_empty | Any | Optional | #CALC! | ค่าที่ return เมื่อไม่มีข้อมูลตรงเงื่อนไข (แนะนำใส่เสมอเพื่อป้องกัน error) |
กรองข้อมูลตาม dropdown ที่ผู้ใช้เลือก (Region, Product, Date) โดยไม่ต้องใช้ PivotTable
ใช้ FILTER กับ SEARCH เพื่อสร้างช่องค้นหาที่กรองข้อมูลขณะพิมพ์แบบ real-time
กรอง Status = Open และ Due Date <= TODAY() เพื่อดูงานที่ต้องทำวันนี้
FILTER(Sales, Sales[Amount]>1000)=FILTER(Sales, Sales[Amount]>1000)
Spill Range 5 แถว
FILTER(Sales, (Sales[Region]="North")*(Sales[Amount]>1000))=FILTER(Sales, (Sales[Region]="North")*(Sales[Amount]>1000))
Spill Range 3 แถว
FILTER(Sales, (Sales[Status]="Open")+(Sales[Status]="Pending"))=FILTER(Sales, (Sales[Status]="Open")+(Sales[Status]="Pending"))
Spill Range 8 แถว
FILTER(Sales, Sales[Amount]>999999, "No data found")=FILTER(Sales, Sales[Amount]>999999, "No data found")
No data found
SORT(FILTER(Sales, Sales[Region]="North"), 3, -1)=SORT(FILTER(Sales, Sales[Region]="North"), 3, -1)
กรองแล้วเรียงจากมากไปน้อย
FILTER(Products, ISNUMBER(SEARCH(G1, Products[Name])), "No match")=FILTER(Products, ISNUMBER(SEARCH(G1, Products[Name])), "No match")
รายการที่มีคำค้นหา G1
เกิดเมื่อไม่มีข้อมูลตรงเงื่อนไขและไม่ได้ใส่ if_empty แก้โดยใส่ argument ที่ 3 เช่น =FILTER(data, condition, “No data”)
เกิดเมื่อเซลล์ด้านล่าง/ขวาไม่ว่างทำให้ผลลัพธ์ Spill ไม่ได้ ลบข้อมูลที่ขวางหรือย้ายสูตรไปที่ว่าง
AND ใช้ * (คูณ) เช่น (A>10)*(B=”Yes”) ส่วน OR ใช้ + (บวก) เช่น (A=”X”)+(A=”Y”) ครอบด้วยวงเล็บแต่ละเงื่อนไข
FILTER เป็นสูตรที่ return ผลลัพธ์ใหม่แบบไดนามิก ไม่ซ่อนแถว ใช้กับสูตรอื่นได้ ส่วน AutoFilter ซ่อนแถวใน Table เดิม ต้องกดเลือกด้วยมือ
Microsoft 365, Excel 2021, Excel 2024, และ Excel for Web เท่านั้น ไม่รองรับ Excel 2019 หรือเก่ากว่า เป็น Dynamic Array Function
FILTER เป็น Dynamic Array Function ที่กรองข้อมูลจาก Array ตามเงื่อนไขที่กำหนด แล้ว return ผลลัพธ์เป็น Spill Range ที่ขยายอัตโนมัติ รองรับเงื่อนไขเดียวหรือหลายเงื่อนไข (AND ใช้ *, OR ใช้ +) สามารถใช้ร่วมกับ SORT, UNIQUE, INDEX เพื่อสร้างรายงานไดนามิกที่อัปเดตเองเมื่อข้อมูลเปลี่ยน ทำให้ไม่ต้องพึ่ง AutoFilter แบบ manual อีกต่อไป