Excel Formulas Academy · บทเรียน

กรองข้อมูลด้วย FILTER

ส่งคืนเฉพาะแถวที่ตรงตามเงื่อนไขของคุณแบบไดนามิก

บทเรียน 2 จาก 413 ขั้นตอน

กรองข้อมูลด้วย 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ความหมายของการกระจายผลลัพธ์
  2. กรองข้อมูลด้วย FILTER
  3. ลบรายการซ้ำด้วย UNIQUE
  4. การจัดการข้อผิดพลาด SPILL
← กลับไปที่ Excel Formulas Academy