ฟังก์ชัน FILTER ให้คุณได้กรองช่วงข้อมูลโดยอิงตามเกณฑ์ที่คุณกำหนด
ในตัวอย่างต่อไปนี้ เราใช้สูตร =FILTER(A5:D20,C5:C20=H2,"") เพื่อส่งกลับระเบียนทั้งหมดสําหรับ Apple ตามที่เลือกในเซลล์ H2 และถ้าไม่มีแอปเปิล ให้ส่งกลับสตริงว่าง ("")
ฟังก์ชัน FILTER กรองอาร์เรย์โดยอิงจากอาร์เรย์บูลีน (จริง/เท็จ)
=FILTER(array,include,[if_empty])
อาร์กิวเมนต์ |
คำอธิบาย |
array จำเป็น |
อาร์เรย์หรือช่วงที่จะกรอง |
รวม จำเป็น |
อาร์เรย์บูลีนที่มีความสูงหรือความกว้างขนาดเดียวกันกับอาร์เรย์ดังกล่าว |
[if_empty] ไม่จำเป็น |
ค่าที่จะส่งกลับถ้าค่าทั้งหมดในอาร์เรย์ที่รวมนั้นว่างเปล่า (ตัวกรองไม่ส่งกลับค่าอะไรเลย) |
:
-
อาร์เรย์อาจเป็นแถวของค่า คอลัมน์ของค่า หรือการผสมผสานระหว่างแถวและคอลัมน์ของค่า ในตัวอย่างด้านบน อาร์เรย์แหล่งข้อมูลสําหรับสูตร FILTER คือช่วง A5:D20
-
ฟังก์ชัน FILTER จะส่งกลับอาร์เรย์ ซึ่งจะสปิลล์ถ้าเป็นผลลัพธ์สุดท้ายของสูตร ซึ่งหมายความว่า Excel จะสร้างช่วงอาร์เรย์ที่มีขนาดเหมาะสมแบบไดนามิกเมื่อคุณกด ENTER ถ้าข้อมูลสนับสนุนของคุณอยู่ในตาราง Excel อาร์เรย์จะปรับขนาดโดยอัตโนมัติเมื่อคุณเพิ่มหรือนําข้อมูลออกจากช่วงอาร์เรย์ถ้าคุณกําลังใช้การอ้างอิงที่มีแบบแผน สําหรับรายละเอียดเพิ่มเติม ให้ดูบทความนี้เกี่ยวกับลักษณะการทํางานของอาร์เรย์ที่กระจายตัว
-
ถ้าชุดข้อมูลของคุณมีโอกาสที่จะส่งกลับค่าว่าง ให้ใช้อาร์กิวเมนต์ที่ 3 ([if_empty]) มิฉะนั้น ข้อผิดพลาด #CALC! จะส่งผลให้ Excel ไม่สนับสนุนอาร์เรย์ที่ว่างในขณะนี้
-
ถ้าค่าใดๆ ของอาร์กิวเมนต์ include เป็นข้อผิดพลาด (#N/A, #VALUE ฯลฯ) หรือไม่สามารถแปลงเป็นบูลีนได้ ฟังก์ชัน FILTER จะส่งกลับข้อผิดพลาด
-
Excel จำกัดการสนับสนุนอาร์เรย์แบบไดนามิกระหว่างเวิร์กบุ๊ก และสถานการณ์สมมตินี้จะได้รับการสนับสนุนเมื่อเวิร์กบุ๊กทั้งสองเปิดอยู่ ถ้าคุณปิดเวิร์กบุ๊กแหล่งข้อมูล สูตรอาร์เรย์แบบไดนามิกที่ลิงก์ใดๆ จะส่งกลับเป็น ข้อผิดพลาด #REF! เมื่อรีเฟรช
ตัวอย่าง
FILTER ที่ใช้เพื่อส่งกลับหลายๆ เกณฑ์
ในกรณีนี้ เราใช้ตัวดำเนินการคูณ (*) เพื่อส่งกลับค่าทั้งหมดในช่วงอาร์เรย์ของเรา (A5:D20) ที่มีแอปเปิลและอยู่ในภูมิภาคตะวันออก: =FILTER(A5:D20,(C5:C20=H1)*(A5:A20=H2),"")
FILTER ที่ใช้เพื่อส่งกลับหลายๆ เกณฑ์แล้วจัดเรียง
ในกรณีนี้ เราใช้ฟังก์ชัน FILTER ตัวก่อนหน้าพร้อมฟังก์ชัน SORT เพื่อส่งกลับค่าทั้งหมดในช่วงอาร์เรย์ของเรา (A5:D20) ที่มีแอปเปิลและอยู่ในภูมิภาคตะวันออก จากนั้นจึงจัดเรียงหน่วยจากมากไปหาน้อย: =SORT(FILTER(A5:D20,(C5:C20=H1)*(A5:A20=H2),""),4,-1)
ในกรณีนี้ เราใช้ฟังก์ชัน FILTER ตัวก่อนหน้าพร้อมตัวดำเนินการบวก (+) เพื่อส่งกลับค่าทั้งหมดในช่วงอาร์เรย์ของเรา (A5:D20) ที่มีแอปเปิลหรืออยู่ในภูมิภาคตะวันออก จากนั้นจึงจัดเรียงหน่วยจากมากไปหาน้อย: =SORT(FILTER(A5:D20,(C5:C20=H1)+(A5:A20=H2),""),4,-1)
โปรดสังเกตว่าไม่มีฟังก์ชันใดที่ต้องการการอ้างอิงแบบสัมบูรณ์ เนื่องจากมีฟังก์ชันอยู่ในเซลล์เดียวเท่านั้น และสปิลล์ผลลัพธ์ของตนไปยังเซลล์ข้างเคียง
ต้องการความช่วยเหลือเพิ่มเติมไหม
คุณสามารถสอบถามผู้เชี่ยวชาญใน Excel Tech Community หรือรับการสนับสนุนใน ชุมชน