ตารางยาว 500 แถว อยากเห็นแค่สินค้าประเภทเครื่องดื่ม — จะนั่ง filter มือทุกครั้ง?
ใช้เมนู Data → Create a filter ก็ได้ แต่เปิดไฟล์ทีต้องคลิกใหม่ แถมถ้าหลายคนเปิดไฟล์เดียวกัน ฟิลเตอร์ก็ชนกัน
สูตร FILTER แก้ปัญหานี้ได้ เพราะมันดึงข้อมูลตามเงื่อนไขมาแสดงในพื้นที่แยก อัปเดตอัตโนมัติตามข้อมูลต้นทาง ไม่กระทบคนอื่น และใช้หลายเงื่อนไขพร้อมกันได้ — ถือเป็นสูตรที่ทรงพลังที่สุดตัวหนึ่งของ Google Sheets
FILTER 1 สูตร — ดึงข้อมูลทันที
สมมติมีตาราง A1:D500 (ชื่อสินค้า, ประเภท, จำนวน, ราคา) — อยากเห็นเฉพาะ "เครื่องดื่ม"
คลิกเซลล์ว่าง แล้วพิมพ์สูตร
ไปที่เซลล์ว่างนอกตารางข้อมูล เช่น F1 แล้วพิมพ์:
=FILTER(A2:D500, B2:B500="เครื่องดื่ม")

กด Enter — ได้ผลลัพธ์ทันที
Google Sheets จะดึงเฉพาะแถวที่คอลัมน์ B = "เครื่องดื่ม" มาแสดง

โครงสร้างสูตร FILTER
=FILTER(range, condition1, [condition2], ...)
- range = ข้อมูลที่ต้องการดึง (เช่น A2:D500)
- condition1 = เงื่อนไขกรอง (เช่น B2:B500="เครื่องดื่ม")
- condition2 = เงื่อนไขเพิ่มเติม (AND — ต้องตรงทุกเงื่อนไข)
ได้แล้ว! แค่สูตรเดียวก็ดึงข้อมูลเฉพาะที่ต้องการได้ทันที ไม่ต้องคลิกเมนู filter ทุกครั้ง
หลายเงื่อนไข — AND / OR
อยากกรองมากกว่า 1 เงื่อนไข เช่น เครื่องดื่ม + ราคามากกว่า 50 บาท — ทำได้ 2 แบบ
AND (ต้องตรงทุกเงื่อนไข)
ใส่เงื่อนไขเพิ่มคั่นด้วย comma — ต้องตรงทุกข้อ
// เครื่องดื่ม + ราคามากกว่า 50
=FILTER(A2:D500, B2:B500="เครื่องดื่ม", D2:D500>50)

OR (ตรงข้อใดข้อหนึ่ง)
ใช้เครื่องหมาย + รวมเงื่อนไข — ตรงข้อไหนก็ได้
// เครื่องดื่ม หรือ ขนม
=FILTER(A2:D500, (B2:B500="เครื่องดื่ม")+(B2:B500="ขนม"))

จำง่าย: AND = ใส่ comma คั่น | OR = ใส่ + ในวงเล็บ
FILTER + SORT — กรองแล้วเรียงลำดับ
ดึงข้อมูลมาแล้วยังกระจัดกระจาย? ใช้ SORT ครอบ FILTER อีกที จะได้เรียงจากมากไปน้อย (หรือกลับกัน)
// กรองเครื่องดื่ม แล้วเรียงราคาจากมากไปน้อย
=SORT(FILTER(A2:D500, B2:B500="เครื่องดื่ม"), 4, FALSE)

สูตรผสมที่ใช้บ่อย
FILTER + SORT (เรียงลำดับ)
FILTER + UNIQUE (ไม่ซ้ำ)
FILTER + Dropdown (เลือกจากรายการ)
G1 = เซลล์ Dropdown ให้เลือกประเภท
ตัวอย่างจริง — งานขาย, คลัง, บัญชี, HR
1. งานขาย: ดึงยอดขายพนักงานคนเดียว
// G1 = ชื่อพนักงาน (Dropdown)
=FILTER(A2:F500, A2:A500=G1)
// รวมยอดขาย
=SUM(FILTER(F2:F500, A2:A500=G1))
2. คลังสินค้า: แจ้งเตือนสต็อกต่ำ
// ดึงสินค้าที่สต็อกต่ำกว่า 10 ชิ้น
=FILTER(A2:D200, C2:C200<10)
3. บัญชี: แยกรายจ่ายรายเดือน
// G1 = เดือน (1-12), ดึงเฉพาะรายจ่ายของเดือนนั้น
=FILTER(A2:E500, MONTH(A2:A500)=G1, C2:C500="รายจ่าย")
4. HR: ดึงพนักงานตามแผนก
// เลือกแผนก + เฉพาะพนักงานที่ยังทำงานอยู่
=FILTER(A2:F100, C2:C100=H1, F2:F100="ทำงาน")

Pro Tips
ใช้ IFERROR ครอบเสมอ
ถ้าไม่มีข้อมูลตรงเงื่อนไข FILTER จะแสดง #N/A — ใช้ IFERROR ครอบแสดงข้อความแทน
FILTER ดีกว่า VLOOKUP ตรงที่คืนหลายแถว
VLOOKUP คืนได้แค่แถวแรกที่เจอ แต่ FILTER คืนทุกแถวที่ตรงเงื่อนไข — เหมาะกับรายงาน
ใช้คู่กับ Dropdown ทำระบบค้นหา
สร้าง Dropdown ให้เลือกประเภท → FILTER ดึงข้อมูลอัตโนมัติ = ระบบค้นหาสำเร็จรูป
เว้นพื้นที่ว่างให้ผลลัพธ์
FILTER คืนหลายแถว ถ้าเซลล์ด้านล่างมีข้อมูลอยู่จะ error — เว้นพื้นที่ว่างไว้ให้พอ
FILTER vs VLOOKUP vs QUERY
| เปรียบเทียบ | FILTER | VLOOKUP | QUERY |
|---|---|---|---|
| คืนหลายแถว | ได้ | ไม่ได้ | ได้ |
| ความง่าย | ง่าย | ง่ายมาก | ยาก |
| หลายเงื่อนไข | ง่าย | ทำไม่ได้ | ได้ |
| เหมาะกับ | กรอง + รายงาน | ดึง 1 ค่า | รายงานซับซ้อน |
ผิดบ่อย + วิธีแก้
#N/A — ไม่มีข้อมูลตรงเงื่อนไข
สาเหตุ: ไม่มีแถวไหนตรงกับเงื่อนไขที่กำหนด (เช่น สะกดผิด)
แก้: ใช้ IFERROR ครอบ หรือตรวจสอบการสะกดให้ตรงกับข้อมูลต้นทาง
#REF! — ผลลัพธ์ทับข้อมูลเดิม
สาเหตุ: FILTER คืนหลายแถว แต่เซลล์ด้านล่างมีข้อมูลอยู่แล้ว
แก้: เว้นพื้นที่ว่างด้านล่างให้เพียงพอ หรือย้ายสูตรไปชีตแยก
range ไม่เท่ากัน
สาเหตุ: range ข้อมูลกับ range เงื่อนไขจำนวนแถวไม่ตรงกัน เช่น A2:D500 กับ B2:B400
แก้: ให้แถวเริ่มและแถวจบเท่ากัน เช่น A2:D500, B2:B500
เปรียบเทียบ text ไม่เจอ
สาเหตุ: มีช่องว่างนำหน้า/ตามหลัง หรือตัวพิมพ์ใหญ่/เล็กต่างกัน
แก้: ใช้ TRIM ตัดช่องว่าง: =FILTER(A2:D500, TRIM(B2:B500)="เครื่องดื่ม")

คำถามที่พบบ่อย
FILTER ใช้หลายเงื่อนไขพร้อมกันได้ไหม?
ได้ ใส่เงื่อนไขคั่นด้วย comma (AND) หรือใช้ + ในวงเล็บ (OR) เช่น =FILTER(A:C, B:B="กรุงเทพ", C:C>1000) จะดึงข้อมูลที่อยู่กรุงเทพและยอดมากกว่า 1,000
FILTER แสดง #N/A ทำอย่างไร?
เกิดจากไม่มีข้อมูลที่ตรงเงื่อนไข แก้โดยใช้ IFERROR ครอบ เช่น =IFERROR(FILTER(A:C, B:B="xxx"), "ไม่พบข้อมูล")
FILTER กับ VLOOKUP ต่างกันยังไง?
VLOOKUP คืนค่าแค่ 1 แถว (แถวแรกที่เจอ) แต่ FILTER คืนทุกแถวที่ตรงเงื่อนไข ถ้าต้องการดึงข้อมูลหลายแถว ใช้ FILTER ถ้าต้องการดึงค่าเดียว ใช้ VLOOKUP
บทความที่เกี่ยวข้อง
Drop Down List Excel ทำใน Google Sheets ง่ายกว่า ฟรี — สอน 3 คลิก [2026]
สอนทำ Drop Down List แบบเดียวกับ Excel แต่ใน Google Sheets ฟรี ง่ายกว่า ทำได้ใน 3 คลิก พร้อม Dependent Dropdown และ Conditional Formatting ส…
10 สูตร Excel ที่ใช้บ่อย — ใช้ใน Google Sheets ได้เลย 100% [2026]
รวม 10 สูตร Excel ที่ใช้บ่อยที่สุด — SUM, AVERAGE, IF, SUMIF, VLOOKUP ใช้ใน Google Sheets ได้เหมือน Excel 100% + สูตรที่ Sheets มี Excel ไม่…
Dropdown Google Sheets วิธีสร้าง 3 คลิก + Dependent + ใส่สีอัตโนมัติ [2026]
สอนสร้าง Dropdown List ใน Google Sheets ด้วย Data Validation — แบบพิมพ์เอง อ้างอิงเซลล์ Dependent (Dynamic) + Conditional Formatting ใส่สีอั…
