ฟังก์ชัน Excel FILTER - การกรองแบบไดนามิกด้วยสูตร

  • แบ่งปันสิ่งนี้
Michael Brown

สารบัญ

ในบทเรียนสั้นๆ นี้ คุณจะได้เรียนรู้วิธีการกรองใน Excel แบบไดนามิกด้วยสูตร ตัวอย่างการกรองรายการที่ซ้ำกัน เซลล์ที่มีข้อความบางรายการ มีหลายเกณฑ์ และอื่นๆ

โดยปกติแล้วคุณกรองข้อมูลใน Excel อย่างไร ส่วนใหญ่โดยใช้ตัวกรองอัตโนมัติ และในสถานการณ์ที่ซับซ้อนมากขึ้นด้วยตัวกรองขั้นสูง ด้วยความรวดเร็วและมีประสิทธิภาพ วิธีการเหล่านี้มีข้อเสียเปรียบที่สำคัญประการหนึ่ง กล่าวคือ จะไม่อัปเดตโดยอัตโนมัติเมื่อข้อมูลของคุณเปลี่ยนแปลง หมายความว่าคุณจะต้องล้างข้อมูลและกรองใหม่อีกครั้ง การแนะนำฟังก์ชัน FILTER ใน Excel 365 กลายเป็นทางเลือกที่รอคอยมานานสำหรับฟีเจอร์ทั่วไป สูตร Excel จะคำนวณใหม่โดยอัตโนมัติเมื่อมีการเปลี่ยนแปลงเวิร์กชีตแต่ละครั้ง ซึ่งแตกต่างจากสูตรเหล่านี้ ดังนั้นคุณจะต้องตั้งค่าตัวกรองของคุณเพียงครั้งเดียว!

    ฟังก์ชันตัวกรองของ Excel

    ฟังก์ชันตัวกรองใน Excel ใช้เพื่อกรองช่วงของข้อมูลตามเกณฑ์ที่คุณระบุ

    ฟังก์ชันนี้อยู่ในหมวดหมู่ของฟังก์ชัน Dynamic Arrays ผลลัพธ์คืออาร์เรย์ของค่าที่กระจายไปยังช่วงของเซลล์โดยอัตโนมัติ โดยเริ่มจากเซลล์ที่คุณป้อนสูตร

    ไวยากรณ์ของฟังก์ชัน FILTER เป็นดังนี้:

    FILTER(อาร์เรย์, รวม , [if_empty])

    ตำแหน่ง:

    • อาร์เรย์ (จำเป็น) - ช่วงหรืออาร์เรย์ของค่าที่คุณต้องการกรอง
    • รวม (จำเป็น) - เกณฑ์ที่ระบุเป็นอาร์เรย์บูลีน (ค่า TRUE และ FALSE)

      ของมันแม้แต่คอลัมน์หลายร้อยคอลัมน์ คุณอาจต้องการจำกัดผลลัพธ์ให้เหลือเพียงไม่กี่คอลัมน์ที่สำคัญที่สุด

      ตัวอย่างที่ 1. กรองคอลัมน์ที่อยู่ติดกันบางคอลัมน์

      ในสถานการณ์ที่คุณต้องการให้คอลัมน์ข้างเคียงบางคอลัมน์ปรากฏใน ผลลัพธ์ FILTER ให้รวมเฉพาะคอลัมน์เหล่านั้นใน อาร์เรย์ เพราะเป็นอาร์กิวเมนต์ที่กำหนดว่าจะส่งคืนคอลัมน์ใด

      ในตัวอย่างสูตร FILTER พื้นฐาน สมมติว่าคุณต้องการส่งคืน 2 คอลัมน์แรก ( ชื่อ และ กลุ่ม ) ดังนั้น คุณจึงระบุ A2:B13 สำหรับอาร์กิวเมนต์ อาร์เรย์ :

      =FILTER(A2:B13, B2:B13=F1, "No results")

      ด้วยเหตุนี้ เราจึงได้รับรายชื่อผู้เข้าร่วมของกลุ่มเป้าหมายที่กำหนดไว้ใน F1:

      ตัวอย่างที่ 2. กรองคอลัมน์ที่ไม่ติดกัน

      ในการทำให้ฟังก์ชัน FILTER ส่งกลับคอลัมน์ที่ไม่ติดกัน ให้ใช้เคล็ดลับอันชาญฉลาดนี้:

      1. สร้างสูตร FILTER ด้วยเงื่อนไขที่ต้องการโดยใช้ทั้งตารางสำหรับ อาร์เรย์
      2. ซ้อนสูตรด้านบนไว้ในฟังก์ชัน FILTER อื่น ในการกำหนดค่าฟังก์ชัน "wrapper" ให้ใช้ค่าคงที่อาร์เรย์ของค่า TRUE และ FALSE หรือ 1 และ 0 สำหรับอาร์กิวเมนต์ include โดยที่ TRUE (1) ทำเครื่องหมายคอลัมน์ที่จะเก็บไว้ และ FALSE (0) ทำเครื่องหมาย คอลัมน์ที่จะยกเว้น

      ตัวอย่างเช่น หากต้องการส่งคืนเฉพาะ ชื่อ (คอลัมน์ที่ 1) และ ชัยชนะ (คอลัมน์ที่ 3) เราจะใช้ {1, 0,1} หรือ {TRUE,FALSE,TRUE} สำหรับอาร์กิวเมนต์ include ของฟังก์ชัน FILTER ภายนอก:

      =FILTER(FILTER(A2:C13, B2:B13=F1), {1,0,1})

      Or

      =FILTER(FILTER(A2:C13, B2:B13=F1), {TRUE,FALSE,TRUE})

      วิธีจำกัดจำนวนแถวที่ส่งคืนโดยฟังก์ชัน FILTER

      หากสูตร FILTER ของคุณพบผลลัพธ์ค่อนข้างมาก แต่เวิร์กชีตของคุณมีพื้นที่จำกัดและคุณไม่สามารถลบข้อมูลด้านล่างได้ คุณสามารถจำกัดจำนวนแถวที่ฟังก์ชัน FILTER ส่งคืนได้ .

      มาดูกันว่ามันทำงานอย่างไรกับตัวอย่างสูตรง่ายๆ ที่ดึงผู้เล่นจากกลุ่มเป้าหมายใน F1:

      =FILTER(A2:C13, B2:B13=F1)

      สูตรด้านบนแสดงระเบียนทั้งหมดที่ พบว่า 4 แถวในกรณีของเรา แต่สมมติว่าคุณมีที่ว่างสำหรับสองคน หากต้องการแสดงผลเฉพาะ 2 แถวแรกที่พบ คุณต้องทำดังนี้:

      • ใส่สูตร FILTER ลงในอาร์กิวเมนต์ อาร์เรย์ ของฟังก์ชัน INDEX
      • สำหรับอาร์กิวเมนต์ row_num ของ INDEX ให้ใช้ค่าคงที่อาร์เรย์แนวตั้ง เช่น {1;2} กำหนดจำนวนแถวที่จะส่งคืน (2 ในกรณีของเรา)
      • สำหรับอาร์กิวเมนต์ column_num ให้ใช้ค่าคงที่อาร์เรย์แนวนอน เช่น {1,2,3} ซึ่งจะระบุคอลัมน์ที่จะส่งคืน (3 คอลัมน์แรกในตัวอย่างนี้)
      • เพื่อดูแลข้อผิดพลาดที่อาจเกิดขึ้นเมื่อไม่พบข้อมูลที่ตรงกับเกณฑ์ของคุณ คุณสามารถรวมสูตรของคุณในฟังก์ชัน IFERROR

    สูตรที่สมบูรณ์จะอยู่ในรูปแบบนี้:

    =IFERROR(INDEX(FILTER(A2:C13, B2:B13=F1), {1;2}, {1,2,3}), "No result")

    เมื่อทำงานกับตารางขนาดใหญ่ การเขียนค่าคงที่อาร์เรย์ด้วยตนเองอาจเป็น ค่อนข้างยุ่งยาก ไม่มีปัญหา ฟังก์ชัน SEQUENCE สามารถสร้างหมายเลขลำดับให้คุณโดยอัตโนมัติ:

    =IFERROR(INDEX(FILTER(A2:C13, B2:B13=F1), SEQUENCE(2), SEQUENCE(1, COLUMNS(A2:C13))), "No result")

    SEQUENCE แรกจะสร้างอาร์เรย์แนวตั้งมีหมายเลขลำดับมากเท่าที่ระบุไว้ในอาร์กิวเมนต์แรก (และเท่านั้น) ลำดับที่สองใช้ฟังก์ชัน COLUMNS เพื่อนับจำนวนคอลัมน์ในชุดข้อมูลและสร้างอาร์เรย์แนวนอนที่เทียบเท่า

    เคล็ดลับ ในการส่งคืนข้อมูลจาก คอลัมน์เฉพาะ ไม่ใช่ทุกคอลัมน์ ในค่าคงที่อาร์เรย์แนวนอนที่คุณใช้สำหรับอาร์กิวเมนต์ column_num ของ INDEX ให้รวมเฉพาะตัวเลขเหล่านั้นเท่านั้น ตัวอย่างเช่น หากต้องการแยกข้อมูลจากคอลัมน์ที่ 1 และ 3 ให้ใช้ {1,3}

    ฟังก์ชัน Excel FILTER ไม่ทำงาน

    ในสถานการณ์ที่สูตร Excel FILTER ของคุณเกิดข้อผิดพลาด เป็นไปได้มากว่าจะเป็นอย่างใดอย่างหนึ่งต่อไปนี้:

    #CALC! ข้อผิดพลาด

    เกิดขึ้นหากละเว้นอาร์กิวเมนต์ if_empty ซึ่งเป็นทางเลือก และไม่พบผลลัพธ์ที่ตรงกับเกณฑ์ เหตุผลคือปัจจุบัน Excel ไม่รองรับอาร์เรย์ว่าง เพื่อป้องกันข้อผิดพลาดดังกล่าว อย่าลืมกำหนดค่า if_empty ในสูตรของคุณเสมอ

    ข้อผิดพลาด #VALUE

    เกิดขึ้นเมื่อ อาร์เรย์ และ include อาร์กิวเมนต์มีขนาดที่เข้ากันไม่ได้

    #N/A, #VALUE ฯลฯ

    ข้อผิดพลาดต่างๆ อาจเกิดขึ้นได้หากค่าบางค่าในอาร์กิวเมนต์ include เป็นข้อผิดพลาดหรือไม่สามารถแปลงเป็นค่าบูลีนได้

    ข้อผิดพลาด #NAME

    เกิดขึ้นเมื่อพยายามใช้ FILTER ใน Excel เวอร์ชันเก่า โปรดทราบว่าเป็นฟังก์ชันใหม่ซึ่งมีให้ใช้งานใน Office 365 และ Excel 2021 เท่านั้น

    ในExcel ใหม่ ข้อผิดพลาด #NAME จะเกิดขึ้นหากคุณสะกดชื่อฟังก์ชันผิดโดยไม่ตั้งใจ

    ข้อผิดพลาด #SPILL

    ข้อผิดพลาดนี้เกิดขึ้นบ่อยที่สุดหากเซลล์อย่างน้อยหนึ่งเซลล์ในช่วงการรั่วไหลไม่ว่างเปล่า . หากต้องการแก้ไข ให้ล้างหรือลบเซลล์ที่ไม่ว่าง หากต้องการตรวจสอบและแก้ไขกรณีอื่นๆ โปรดดู #SPILL! error ใน Excel: ความหมายและวิธีแก้ไข

    #REF! ข้อผิดพลาด

    เกิดขึ้นเมื่อใช้สูตร FILTER ระหว่างสมุดงานต่างๆ และปิดสมุดงานต้นทาง

    นั่นคือวิธีการแยกไฟล์ข้อมูลใน Excel แบบไดนามิก ฉันขอขอบคุณที่อ่านและหวังว่าจะได้พบคุณในบล็อกของเราในสัปดาห์หน้า!

    ดาวน์โหลดสมุดงานแบบฝึกหัด

    กรองใน Excel ด้วยสูตร (ไฟล์ .xlsx)

    ความสูง (เมื่อข้อมูลอยู่ในคอลัมน์) หรือความกว้าง (เมื่อข้อมูลอยู่ในแถว) ต้องเท่ากับอาร์กิวเมนต์ อาร์เรย์
  • If_empty (ไม่บังคับ) - ค่าที่จะส่งคืนเมื่อไม่มีรายการที่ตรงกับเกณฑ์
  • ฟังก์ชัน FILTER มีเฉพาะใน Excel สำหรับ Microsoft 365 และ Excel 2021 ไม่รองรับใน Excel 2019, Excel 2016 และเวอร์ชันก่อนหน้า

    สูตรตัวกรอง Excel พื้นฐาน

    สำหรับผู้เริ่มต้น เรามาพูดถึงกรณีง่ายๆ สองสามกรณีเพื่อให้ได้รับ เข้าใจมากขึ้นว่าสูตร Excel ในการกรองข้อมูลทำงานอย่างไร

    จากชุดข้อมูลด้านล่าง สมมติว่าคุณต้องการแยกระเบียนที่มีค่าเฉพาะในคอลัมน์ กลุ่ม เช่น กลุ่ม C เพื่อให้เสร็จสิ้น เราใส่นิพจน์ B2:B13="C" ให้กับอาร์กิวเมนต์ include ซึ่งจะสร้างอาร์เรย์บูลีนที่จำเป็น โดยมีค่า TRUE สอดคล้องกับค่า "C"

    =FILTER(A2:C13, B2:B13="C", "No results")

    ในทางปฏิบัติ การป้อนเกณฑ์ในเซลล์แยกต่างหากจะสะดวกกว่า เช่น F1 และใช้การอ้างอิงเซลล์แทนการฮาร์ดโค้ดค่าโดยตรงในสูตร:

    =FILTER(A2:C13, B2:B13=F1, "No results")

    ไม่เหมือนกับคุณลักษณะตัวกรองของ Excel ตรงที่ฟังก์ชันนี้ไม่ได้ทำการเปลี่ยนแปลงใดๆ กับข้อมูลต้นฉบับ โดยจะแยกระเบียนที่กรองออกเป็นช่วงที่เรียกว่าช่วงการรั่วไหล (E4:G7 ในภาพหน้าจอด้านล่าง) โดยเริ่มต้นในเซลล์ที่มีการป้อนสูตร:

    หากไม่มีระเบียน ตรงกับเกณฑ์ที่ระบุ สูตรจะส่งกลับค่าที่คุณใส่ใน if_empty อาร์กิวเมนต์ "ไม่มีผลลัพธ์" ในตัวอย่างนี้:

    หากคุณต้องการ ไม่ส่งคืนอะไรเลย ในกรณีนี้ ระบุสตริงว่าง ("") สำหรับอาร์กิวเมนต์สุดท้าย:

    =FILTER(A2:C13, B2:B13=F1, "")

    ในกรณีที่ข้อมูลของคุณถูกจัดระเบียบ แนวนอน จากซ้ายไปขวาตามที่แสดงในภาพด้านล่าง ฟังก์ชัน FILTER จะทำงานได้ดีเช่นกัน เพียงให้แน่ใจว่าคุณกำหนดช่วงที่เหมาะสมสำหรับอาร์กิวเมนต์ อาร์เรย์ และ รวม เพื่อให้อาร์เรย์ต้นทางและอาร์เรย์บูลีนมีความกว้างเท่ากัน:

    =FILTER(B2:M4, B3:M3= B7, "No results")

    ฟังก์ชันตัวกรองของ Excel - บันทึกการใช้งาน

    ในการกรองสูตรใน Excel อย่างมีประสิทธิภาพ ต่อไปนี้เป็นประเด็นสำคัญสองสามข้อที่ควรสังเกต:

    • ฟังก์ชัน FILTER จะกระจายผลลัพธ์โดยอัตโนมัติในแนวตั้งหรือแนวนอนในเวิร์กชีต ขึ้นอยู่กับวิธีการจัดระเบียบข้อมูลต้นฉบับของคุณ ดังนั้น โปรดตรวจสอบว่าคุณมีเซลล์ว่างเพียงพอเสมอด้านล่างและด้านขวา มิฉะนั้น คุณจะได้รับข้อผิดพลาด #SPILL
    • ผลลัพธ์ของฟังก์ชัน Excel FILTER เป็นแบบไดนามิก หมายความว่าเซลล์จะอัปเดตโดยอัตโนมัติเมื่อค่าใน การเปลี่ยนแปลงชุดข้อมูลเดิม อย่างไรก็ตาม ช่วงที่ระบุสำหรับอาร์กิวเมนต์ อาร์เรย์ จะไม่อัปเดตเมื่อมีการเพิ่มรายการใหม่ลงในข้อมูลต้นฉบับ หากคุณต้องการให้ อาร์เรย์ ปรับขนาดโดยอัตโนมัติ ให้แปลงเป็นตาราง Excel และสร้างสูตรที่มีการอ้างอิงที่มีโครงสร้าง หรือสร้างช่วงที่มีชื่อแบบไดนามิก

    วิธีกรองใน Excel -ตัวอย่างสูตร

    เมื่อคุณทราบวิธีการทำงานของตัวกรองสูตรพื้นฐานของ Excel แล้ว ก็ถึงเวลาทำความเข้าใจข้อมูลเชิงลึกเกี่ยวกับวิธีขยายสูตรเพื่อแก้ปัญหางานที่ซับซ้อนมากขึ้น

    ตัวกรองที่มีหลายเกณฑ์ (AND ตรรกะ)

    ในการกรองข้อมูลที่มีหลายเกณฑ์ คุณต้องใส่นิพจน์เชิงตรรกะตั้งแต่สองนิพจน์ขึ้นไปสำหรับอาร์กิวเมนต์ include :

    FILTER(array, ( range1= เกณฑ์1) * ( ช่วง2= เกณฑ์2), "ไม่มีผลลัพธ์")

    การดำเนินการคูณจะประมวลผลอาร์เรย์ด้วยตรรกะ และ เพื่อให้แน่ใจว่าเฉพาะระเบียนที่ตรงตาม เกณฑ์ทั้งหมด เท่านั้นที่จะถูกส่งกลับ ในทางเทคนิค การทำงานในลักษณะนี้:

    ผลลัพธ์ของแต่ละนิพจน์เชิงตรรกะคืออาร์เรย์ของค่าบูลีน โดยที่ TRUE เท่ากับ 1 และ FALSE เท่ากับ 0 จากนั้น องค์ประกอบของอาร์เรย์ทั้งหมดในตำแหน่งเดียวกันจะถูกคูณ . เนื่องจากการคูณด้วยศูนย์จะให้ค่าศูนย์เสมอ เฉพาะรายการที่เกณฑ์ทั้งหมดเป็น TRUE เท่านั้นที่จะเข้าสู่อาร์เรย์ผลลัพธ์ และด้วยเหตุนี้จึงแยกเฉพาะรายการเหล่านั้นเท่านั้น

    ตัวอย่างด้านล่างแสดงสูตรทั่วไปที่ใช้งานจริง

    ตัวอย่างที่ 1 กรองหลายคอลัมน์ใน Excel

    ขยายสูตร Excel FILTER พื้นฐานของเราออกไปอีกเล็กน้อย มากรองข้อมูลตามสองคอลัมน์: กลุ่ม (คอลัมน์ B) และ ชนะ (คอลัมน์ C)

    สำหรับสิ่งนี้ เราตั้งค่าเกณฑ์ต่อไปนี้: พิมพ์ชื่อกลุ่มเป้าหมายใน F2 ( เกณฑ์1 ) และจำนวนขั้นต่ำที่ต้องการของชนะใน F3 ( เกณฑ์2 )

    เนื่องจากแหล่งข้อมูลของเราอยู่ใน A2:C13 ( อาร์เรย์ ) กลุ่มจึงอยู่ใน B2:B13 ( range1 ) และการชนะจะอยู่ใน C2:C13 ( range2 ) สูตรจะใช้รูปแบบนี้:

    =FILTER(A2:C13, (B2:B13=F2) * (C2:C13>=F3), "No results")

    ด้วยเหตุนี้ คุณจะได้รับรายชื่อผู้เล่น ในกลุ่ม A ที่ชนะ 2 ครั้งขึ้นไป:

    ตัวอย่างที่ 2. กรองข้อมูลระหว่างวันที่

    ก่อนอื่น ควรสังเกตว่าเป็นไปไม่ได้ เพื่อสร้างสูตรทั่วไปเพื่อกรองตามวันที่ใน Excel ในสถานการณ์ที่แตกต่างกัน คุณจะต้องสร้างเกณฑ์ให้แตกต่างกัน ขึ้นอยู่กับว่าคุณต้องการกรองตามวันที่เจาะจง ตามเดือน หรือตามปี จุดประสงค์ของตัวอย่างนี้คือเพื่อแสดงให้เห็นถึงวิธีการทั่วไป

    สำหรับข้อมูลตัวอย่างของเรา เราได้เพิ่มคอลัมน์อีกหนึ่งคอลัมน์ที่มีวันที่ของการชนะครั้งล่าสุด (คอลัมน์ D) และตอนนี้ เราจะแยกการชนะที่เกิดขึ้นในช่วงเวลาหนึ่ง เช่น ระหว่างวันที่ 17 พฤษภาคม ถึง 31 พฤษภาคม

    โปรดสังเกตว่าในกรณีนี้ เกณฑ์ทั้งสองใช้กับช่วงเดียวกัน:

    =FILTER(A2:D13, (D2:D13>=G2) * (D2:D13<=G3), "No results")

    โดยที่ G2 และ G3 คือวันที่ที่จะกรองระหว่าง

    กรองด้วยหลายเกณฑ์ (OR ตรรกะ)

    เพื่อแยกข้อมูล ขึ้นอยู่กับเงื่อนไข OR หลายข้อ คุณยังใช้นิพจน์เชิงตรรกะอย่างที่แสดงในตัวอย่างก่อนหน้านี้ แต่แทนที่จะคูณ คุณเพิ่มมันเข้าไป เมื่ออาร์เรย์บูลีนที่ส่งคืนโดยนิพจน์ถูกสรุป อาร์เรย์ผลลัพธ์จะมี 0 สำหรับรายการที่ไม่ตรงตามเกณฑ์ใดๆ (เช่น ทั้งหมดเกณฑ์เป็น FALSE) และรายการดังกล่าวจะถูกกรองออก รายการที่มีเกณฑ์อย่างน้อยหนึ่งเกณฑ์เป็น TRUE จะถูกแยกออก

    ต่อไปนี้เป็นสูตรทั่วไปในการกรองคอลัมน์ด้วยตรรกะ OR:

    FILTER(array, ( range1= เกณฑ์1) + ( ช่วง2= เกณฑ์2), "ไม่มีผลลัพธ์")

    ตามตัวอย่าง ลองแยกรายชื่อผู้เล่นที่มี สิ่งนี้หรือ นั้น จำนวนครั้งที่ชนะ

    สมมติว่าแหล่งข้อมูลอยู่ใน A2:C13 การชนะอยู่ใน C2:C13 และจำนวนชนะที่น่าสนใจอยู่ใน F2 และ F3 สูตรจะเป็นดังนี้:

    =FILTER(A2:C13, (C2:C13=F2) + (C2:C13=F3), "No results")

    ผลที่ได้คือ คุณรู้ว่าผู้เล่นคนใดชนะเกมทั้งหมด (4) และใครไม่ชนะเลย (0):

    กรองตามเกณฑ์ AND และ OR หลายรายการ

    ในสถานการณ์ที่คุณต้องการใช้เกณฑ์ทั้งสองประเภท โปรดจำกฎง่ายๆ นี้: รวมเกณฑ์ AND ด้วยเครื่องหมายดอกจัน (*) และเกณฑ์ OR พร้อมเครื่องหมายบวก เครื่องหมาย (+)

    ตัวอย่างเช่น หากต้องการส่งคืนรายชื่อผู้เล่นที่มีจำนวนการชนะตามที่กำหนด (F2) และอยู่ในกลุ่มที่กล่าวถึงใน E2 หรือ E3 ให้สร้างห่วงโซ่ตรรกะต่อไปนี้ นิพจน์:

    =FILTER(A2:C13, (C2:C13=F2) * ((B2:B13=E2) + (B2:B13=E3)), "No results")

    และคุณจะได้ผลลัพธ์ต่อไปนี้:

    วิธีกรองรายการที่ซ้ำกันใน Excel

    เมื่อทำงานกับเวิร์กชีตขนาดใหญ่หรือรวมข้อมูลจากแหล่งต่างๆ มักมีความเป็นไปได้ที่รายการที่ซ้ำกันจะแอบเข้ามา

    หากคุณต้องการ กรองออก รายการที่ซ้ำกัน และ สารสกัดรายการที่ไม่ซ้ำ จากนั้นใช้ฟังก์ชัน UNIQUE ตามที่อธิบายไว้ในบทช่วยสอนที่ลิงก์ด้านบน

    หากเป้าหมายของคุณคือ กรองรายการที่ซ้ำกัน เช่น แยกรายการที่เกิดขึ้นมากกว่าหนึ่งครั้ง ให้ใช้ฟังก์ชัน FILTER ร่วมกับ COUNTIFS

    แนวคิดคือการรับจำนวนเหตุการณ์ที่เกิดขึ้นสำหรับบันทึกทั้งหมดและแยกรายการที่มากกว่า 1 ในการรับจำนวน คุณต้องระบุช่วงเดียวกันสำหรับแต่ละ เกณฑ์_ช่วง / เงื่อนไข คู่ของ COUNTIFS ดังนี้:

    FILTER( array, COUNTIFS( column1, column1, column2, column2)>1, "ไม่มีผลลัพธ์")

    ตัวอย่างเช่น หากต้องการกรองแถวที่ซ้ำกันจากข้อมูลใน A2:C20 ตามค่าในคอลัมน์ทั้ง 3 คอลัมน์ นี่คือสูตรที่จะใช้:

    =FILTER(A2:C20, COUNTIFS(A2:A20, A2:A20, B2:B20, B2:B20, C2:C20, C2:C20)>1, "No results")

    เคล็ดลับ หากต้องการกรองรายการที่ซ้ำกันตามค่าใน คอลัมน์หลัก ให้รวมเฉพาะคอลัมน์เหล่านั้นในฟังก์ชัน COUNTIFS

    วิธีกรองเซลล์ว่างใน Excel

    สูตรสำหรับการกรองเซลล์ว่าง ความจริงแล้ว เป็นรูปแบบของสูตรตัวกรอง Excel ที่มีหลายเกณฑ์และหลายเกณฑ์ ในกรณีนี้ เราจะตรวจสอบว่าคอลัมน์ทั้งหมด (หรือเฉพาะเจาะจง) มีข้อมูลใดๆ อยู่ในคอลัมน์หรือไม่ และไม่รวมแถวที่มีเซลล์ว่างอย่างน้อยหนึ่งเซลล์ ในการระบุเซลล์ที่ไม่ว่าง ให้ใช้ตัวดำเนินการ "ไม่เท่ากับ" () ร่วมกับสตริงว่าง ("") ดังนี้:

    FILTER(array, ( column1 "") * ( column2 ="), "ไม่มีผลลัพธ์")

    ด้วยแหล่งข้อมูลใน A2:C12 เพื่อกรองแถวออกที่มีเซลล์ว่างอย่างน้อยหนึ่งเซลล์ ให้ป้อนสูตรต่อไปนี้ใน E3:

    กรองเซลล์ที่มีข้อความเฉพาะ

    หากต้องการแยกเซลล์ที่มีข้อความบางอย่าง คุณ สามารถใช้ฟังก์ชัน FILTER ร่วมกับเซลล์คลาสสิกหากมีสูตร:

    FILTER(อาร์เรย์, ISNUMBER(SEARCH(" ข้อความ ", ช่วง )), "ไม่มีผลลัพธ์")

    นี่คือวิธีการทำงาน:

    • ฟังก์ชัน SEARCH จะค้นหาสตริงข้อความที่ระบุในช่วงที่กำหนด และส่งกลับตัวเลข (ตำแหน่งของอักขระตัวแรก) หรือ #VALUE! ข้อผิดพลาด (ไม่พบข้อความ)
    • ฟังก์ชัน ISNUMBER แปลงตัวเลขทั้งหมดเป็น TRUE และข้อผิดพลาดเป็น FALSE และส่งอาร์เรย์บูลีนที่เป็นผลลัพธ์ไปยังอาร์กิวเมนต์ include ของฟังก์ชัน FILTER

    สำหรับตัวอย่างนี้ เราได้เพิ่ม นามสกุล ของผู้เล่นใน B2:B13 พิมพ์ส่วนของชื่อที่เราต้องการค้นหาใน G2 จากนั้นใช้สูตรต่อไปนี้เพื่อ กรองข้อมูล:

    =FILTER(A2:D13, ISNUMBER(SEARCH(G2, B2:B13)), "No results")

    ด้วยเหตุนี้ สูตรจึงดึงสองนามสกุลที่มี "han":

    กรองและคำนวณ (ผลรวม ค่าเฉลี่ย ต่ำสุด สูงสุด ฯลฯ)

    ข้อดีเกี่ยวกับฟังก์ชัน Excel FILTER คือไม่เพียงแต่สามารถแยกค่าที่มีเงื่อนไขเท่านั้น แต่ยังสรุปข้อมูลที่กรองได้ด้วย สำหรับสิ่งนี้ ให้รวม FILTER กับฟังก์ชันการรวม เช่น SUM, AVERAGE, COUNT, MAX หรือ MIN

    ตัวอย่างเช่น ในการรวมข้อมูลสำหรับกลุ่มเฉพาะใน F1 ให้ใช้สิ่งต่อไปนี้สูตร:

    การชนะทั้งหมด:

    =SUM(FILTER(C2:C13, B2:B13=F1, 0))

    การชนะโดยเฉลี่ย:

    =AVERAGE(FILTER(C2:C13, B2:B13=F1, 0))

    การชนะสูงสุด:

    =MAX(FILTER(C2:C13, B2:B13=F1, 0))

    การชนะขั้นต่ำ:

    =MIN(FILTER(C2:C13, B2:B13=F1, 0))

    โปรดทราบว่าในสูตรทั้งหมด เราใช้ศูนย์สำหรับอาร์กิวเมนต์ if_empty ดังนั้นสูตรต่างๆ คืนค่า 0 ถ้าไม่พบค่าที่ตรงกับเกณฑ์ การให้ข้อความใดๆ เช่น "ไม่มีผลลัพธ์" จะส่งผลให้เกิดข้อผิดพลาด #VALUE ซึ่งเป็นสิ่งสุดท้ายที่คุณต้องการ :)

    สูตร FILTER ที่คำนึงถึงตัวพิมพ์เล็กและใหญ่

    สูตร Excel FILTER มาตรฐานไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่ หมายความว่าสูตรนี้ไม่มีความแตกต่างระหว่างตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ หากต้องการแยกแยะตัวพิมพ์ข้อความ ให้ซ้อนฟังก์ชัน EXACT ในอาร์กิวเมนต์ include สิ่งนี้จะบังคับให้ FILTER ทำการทดสอบเชิงตรรกะในลักษณะที่คำนึงถึงตัวพิมพ์เล็กและใหญ่:

    FILTER(array, EXACT( range , criteria ), "No Results")

    Supposing คุณมีทั้งกลุ่ม A และ a และต้องการแยกระเบียนโดยที่กลุ่มนั้นเป็นตัวพิมพ์เล็ก "a" หากต้องการดำเนินการ ให้ใช้สูตรต่อไปนี้ โดยที่ A2:C13 เป็นข้อมูลต้นทาง และ B2:B13 เป็นกลุ่มที่ต้องกรอง:

    =FILTER(A2:C13, EXACT(B2:B13, "a"), "No results")

    ตามปกติ คุณสามารถป้อนกลุ่มเป้าหมายใน เซลล์ที่กำหนดไว้ล่วงหน้า เช่น F1 และใช้การอ้างอิงเซลล์นั้นแทนข้อความฮาร์ดโค้ด:

    =FILTER(A2:C13, EXACT(B2:B13, F1), "No results")

    วิธีกรองข้อมูลและส่งคืนเฉพาะคอลัมน์ที่ระบุ

    โดยส่วนใหญ่แล้ว การกรองคอลัมน์ทั้งหมดด้วยสูตรเดียวคือสิ่งที่ผู้ใช้ Excel ต้องการ แต่ถ้าตารางต้นฉบับของคุณมีสิบหรือ

    Michael Brown เป็นผู้ที่ชื่นชอบเทคโนโลยีโดยเฉพาะและมีความหลงใหลในการทำให้กระบวนการที่ซับซ้อนง่ายขึ้นโดยใช้เครื่องมือซอฟต์แวร์ ด้วยประสบการณ์กว่าทศวรรษในอุตสาหกรรมเทคโนโลยี เขาได้ฝึกฝนทักษะของเขาใน Microsoft Excel และ Outlook รวมถึง Google ชีตและเอกสาร บล็อกของ Michael ทุ่มเทให้กับการแบ่งปันความรู้และความเชี่ยวชาญของเขากับผู้อื่น โดยให้คำแนะนำและแบบฝึกหัดที่ทำตามได้ง่ายเพื่อปรับปรุงผลิตภาพและประสิทธิภาพ ไม่ว่าคุณจะเป็นมืออาชีพที่ช่ำชองหรือมือใหม่ บล็อกของ Michael นำเสนอข้อมูลเชิงลึกอันมีค่าและคำแนะนำที่เป็นประโยชน์สำหรับการใช้ประโยชน์สูงสุดจากเครื่องมือซอฟต์แวร์ที่จำเป็นเหล่านี้