กรองข้อมูลด้วย FILTER
ส่งคืนเฉพาะแถวที่ตรงตามเงื่อนไขของคุณแบบไดนามิก
กรองข้อมูลด้วย FILTER เป็นบทเรียน Excel Formulas Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Excel Formulas Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Excel Formulas Academy มีบทเรียนทั้งหมด 4 บทเรียน
FILTER ทำอะไรได้บ้าง
ฟังก์ชัน FILTER จะส่งคืนเฉพาะแถวของช่วงข้อมูลที่ตรงตามเงื่อนไขที่คุณกำหนด แทนที่จะต้องซ่อนแถวหรือคัดลอกข้อมูลที่ตรงกันด้วยตนเอง FILTER จะกระจายแถวที่ตรงกันออกมาโดยอัตโนมัติ
ฟังก์ชันนี้เป็นแบบไดนามิก เมื่อข้อมูลของคุณเปลี่ยนแปลง ผลลัพธ์ที่กรองจะแตกต่างตามทันที จึงเหมาะอย่างยิ่งสำหรับรายงานแบบสดที่แสดงข้อมูลที่ตรงกันในปัจจุบันเสมอ
ไวยากรณ์ของ FILTER
FILTER รับอาร์กิวเมนต์ได้สูงสุดสามรายการ:
=FILTER(array, include, [if_empty])
- array คือช่วงข้อมูลที่คุณต้องการส่งคืน
- include คือการทดสอบเชิงตรรกะที่ให้ผลเป็น TRUE หรือ FALSE สำหรับแต่ละแถว
- if_empty คือค่าที่ไม่บังคับ ซึ่งจะแสดงเมื่อไม่มีข้อมูลใดตรงกัน
การทดสอบ include ต้องมีความสูงเท่ากับ array เพื่อให้แต่ละแถวได้รับค่า TRUE หรือ FALSE
=FILTER(array, include, [if_empty])FILTER แบบง่าย
สมมติว่า A2:A10 เก็บชื่อพนักงานขาย และ B2:B10 เก็บภูมิภาคของพนักงานเหล่านั้น หากต้องการแสดงเฉพาะชื่อในภูมิภาค East:
=FILTER(A2:A10, B2:B10="East")
การทดสอบ B2:B10="East" จะสร้างคอลัมน์ค่า TRUE และ FALSE FILTER จะเก็บแถวที่ผลลัพธ์เป็น TRUE แล้วกระจายผลลัพธ์ออกมา
=FILTER(A2:A10, B2:B10="East")การส่งคืนหลายคอลัมน์
array อาจมีความกว้างมากกว่าหนึ่งคอลัมน์ หากต้องการส่งคืนทั้งชื่อและยอดขายของภูมิภาค East ให้ระบุ array เป็นช่วงข้อมูลทั้งหมด:
=FILTER(A2:C10, B2:B10="East")
FILTER จะส่งคืนทุกคอลัมน์ของแถวที่ตรงกัน โดยกระจายออกมาเป็นตารางขนาดเล็ก การทดสอบ include ยังคงพิจารณาเฉพาะคอลัมน์เงื่อนไขเดียว
=FILTER(A2:C10, B2:B10="East")เงื่อนไขตัวเลข
เงื่อนไขไม่ได้จำกัดอยู่แค่ข้อความ หากต้องการส่งคืนทุกแถวที่ยอดขายใน C2:C10 มากกว่า 500:
=FILTER(A2:C10, C2:C10>500)
ตัวดำเนินการเปรียบเทียบ เช่น มากกว่า น้อยกว่า และไม่เท่ากับ สามารถใช้ภายในอาร์กิวเมนต์ include ได้เช่นเดียวกับการทดสอบเชิงตรรกะทั่วไป
=FILTER(A2:C10, C2:C10>500)การรวมเงื่อนไขด้วยตรรกะ AND
หากต้องการให้ตรงตามสองเงื่อนไขพร้อมกัน ให้คูณการทดสอบเข้าด้วยกัน การคูณทำหน้าที่เหมือน AND เนื่องจาก TRUE มีค่าเป็น 1 และ FALSE มีค่าเป็น 0 ดังนั้นแถวจะผ่านก็ต่อเมื่อทั้งสองเงื่อนไขมีค่าเป็น 1
=FILTER(A2:C10, (B2:B10="East")*(C2:C10>500))
สูตรนี้จะส่งคืนแถวของภูมิภาค East ที่มียอดขายมากกว่า 500 ด้วย ให้ใส่การทดสอบแต่ละรายการไว้ในวงเล็บ
=FILTER(A2:C10, (B2:B10="East")*(C2:C10>500))การรวมเงื่อนไขด้วยตรรกะ OR
หากต้องการให้ผ่านเมื่อเงื่อนไขใดเงื่อนไขหนึ่งเป็นจริง ให้บวกการทดสอบเข้าด้วยกัน การบวกทำหน้าที่เหมือน OR เพราะผลรวมจะมีค่าอย่างน้อย 1 เมื่อมีการทดสอบใดเป็น TRUE
=FILTER(A2:C10, (B2:B10="East")+(B2:B10="West"))
สูตรนี้จะส่งคืนแถวจากภูมิภาค East หรือ West แถวที่ได้คะแนน 1 หรือ 2 จะถูกเก็บไว้ ส่วนแถวที่ได้คะแนน 0 จะถูกตัดออก
=FILTER(A2:C10, (B2:B10="East")+(B2:B10="West"))การจัดการเมื่อไม่มีข้อมูลตรงกัน
หากไม่มีแถวใดตรงตามเงื่อนไข FILTER จะส่งคืนข้อผิดพลาด #CALC! เป็นค่าเริ่มต้น อาร์กิวเมนต์รายการที่สามซึ่งไม่บังคับจะป้องกันปัญหานี้ด้วยการแสดงข้อความที่อ่านเข้าใจง่ายแทน:
=FILTER(A2:C10, B2:B10="South", "No matches found")
หากไม่มีภูมิภาค South เซลล์จะแสดงข้อความแทนข้อผิดพลาด ควรเพิ่มค่า if_empty ในรายงานจริงเสมอ
=FILTER(A2:C10, B2:B10="South", "No matches found")การกรองตามค่าของเซลล์
สำหรับรายงานแบบโต้ตอบ ให้เปรียบเทียบกับเซลล์แทนการระบุค่าตายตัว หาก E1 เก็บภูมิภาคที่ผู้ใช้เลือก:
=FILTER(A2:C10, B2:B10=E1, "No matches")
เมื่อเปลี่ยน E1 เป็น West รายการที่กระจายออกมาจะรีเฟรชเป็นแถวของ West ทันที นี่คือพื้นฐานของแดชบอร์ดที่ควบคุมด้วยรายการแบบดรอปดาวน์
=FILTER(A2:C10, B2:B10=E1, "No matches")การเรียงลำดับผลลัพธ์ที่กรองแล้ว
FILTER จะส่งคืนข้อมูลที่ตรงกันตามลำดับเดิม หากต้องการเรียงลำดับ ให้ซ้อน FILTER ไว้ภายใน SORT หากต้องการแสดงแถวของภูมิภาค East โดยเรียงยอดขายจากมากไปน้อย:
=SORT(FILTER(A2:C10, B2:B10="East"), 3, -1)
SORT จะเรียงตารางที่กระจายออกมาตามคอลัมน์ที่สาม โดย -1 หมายถึงเรียงจากมากไปน้อย การรวมฟังก์ชันการกระจายลักษณะนี้เป็นวิธีที่ใช้กันทั่วไปและมีประสิทธิภาพมาก
=SORT(FILTER(A2:C10, B2:B10="East"), 3, -1)FILTER ใน Google Sheets
FILTER ใช้งานได้ทั้งใน Excel 365 และ Google Sheets โดยมีไวยากรณ์เกือบเหมือนกัน ใน Google Sheets คุณสามารถส่งหลายเงื่อนไขเป็นอาร์กิวเมนต์แยกกันได้ แทนที่จะคูณเงื่อนไขเข้าด้วยกัน:
=FILTER(A2:C10, B2:B10="East", C2:C10>500)
Sheets จะถือว่าอาร์กิวเมนต์เพิ่มเติมแต่ละรายการเป็นเงื่อนไข AND ใน Excel ให้ใช้วิธีคูณเพื่อทำ AND และบวกเพื่อทำ OR ภายในอาร์กิวเมนต์ include เดียว
=FILTER(A2:C10, B2:B10="East", C2:C10>500)ตรวจสอบความเข้าใจ
ทดสอบความเข้าใจเกี่ยวกับ FILTER ของคุณ
สรุป: การกรองด้วย FILTER
คุณได้เรียนรู้การส่งคืนเฉพาะแถวที่ตรงกันด้วย FILTER:
- ไวยากรณ์คือ
=FILTER(array, include, [if_empty]) - การทดสอบ include ต้องมีความสูงเท่ากับ array
- ให้ คูณการทดสอบเพื่อทำ AND และ บวกการทดสอบเพื่อทำ OR
- เพิ่มข้อความ if_empty เพื่อหลีกเลี่ยงข้อผิดพลาด #CALC!
- ซ้อน FILTER ไว้ใน SORT เพื่อเรียงลำดับผลลัพธ์
ถัดไป คุณจะเรียนรู้การแยกรายการค่าที่ไม่ซ้ำกันด้วย UNIQUE
เรียนรู้ Excel ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 30
- บทเรียน
- 120
คำถามที่พบบ่อย
บทเรียน “กรองข้อมูลด้วย FILTER” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “กรองข้อมูลด้วย FILTER” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Excel Formulas Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Excel Formulas Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “กรองข้อมูลด้วย FILTER”
ส่งคืนเฉพาะแถวที่ตรงตามเงื่อนไขของคุณแบบไดนามิก คุณปฏิบัติ Excel Formulas Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Excel Formulas Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Excel Formulas Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “กรองข้อมูลด้วย FILTER” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Excel Formulas Academy นี้ได้ไหม
ได้ บทเรียน Excel Formulas Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ความหมายของการกระจายผลลัพธ์
- กรองข้อมูลด้วย FILTER
- ลบรายการซ้ำด้วย UNIQUE
- การจัดการข้อผิดพลาด SPILL