เลิกใช้ Filter บนเมนูที่ไม่ได้บอกว่ากรองอะไรอยู่ ... หันมาใช้แบบนี้แทนดีกว่า

คุณเคยสงสัยใช่ไหมว่าข้อมูลที่เห็นอยู่นั้นครบตามที่ต้องการหรือเปล่า มีรายการอะไรบ้างหายไป

ต่อให้แกะโดยคลิกที่ปุ่มกรองบนหัวตาราง ในกรอบสีแดง มองออกไหมว่าที่สั่ง Filter กรองรายการไว้โดยการคลิกบนเมนู Data > Filter นั้นน่ะ ได้สั่งให้กรองอะไรไว้บ้าง ถ้ามีหลายเรื่องให้เลือกต้องลำบากทีเดียวกว่าจะหาเจอว่าอยากให้กรองอะไรบ้าง และที่แย่ที่สุดพอสั่งกรองไปแล้ว ใครบ้างจำได้บ้างว่าตารางที่เห็นนั้นมีรายการอะไรหายไป


แทนที่จะใช้ Filter บนเมนูหรือ Filter ที่เกิดพร้อมกับการใช้ PivotTable แล้วต้องทำ Slicer ช่วยอีกขั้น หันมาใช้สูตร Filter ใน Excel 365 แทน โดยสร้างสูตรนี้ลงไปในเซลล์ K6

=FILTER( BudgetTable, ( COUNTIF( ITEMChoice, ITEM )>=1 ) + (COUNTA( ITEMChoice )=0) ) 

BudgetTable เป็นชื่อตารางข้อมูลด้านซ้ายทั้งหมด
ITEMChoice เป็นตารางในกรอบสีเขียว มีไว้ใส่ชื่อ Item ที่อยากให้แสดง
Item เป็นชื่อตารางใน Column Item ในตารางด้านซ้าย

COUNTIF( ITEMChoice, ITEM )>=1 เป็นเงื่อนไขที่ใช้กรองตามที่ใส่ไว้ในกรอบสีเขียว

(COUNTA( ITEMChoice )=0 เป็นเงื่อนไขให้นับว่าถ้าไม่ได้กรอกอะไรไว้เลยให้แสดงรายการทั้งหมด

Download ตัวอย่างได้จาก

https://drive.google.com/file/d/1gtg60Ze85lJ2YZUiBRZGQ9ymdbVbvzPh/view?usp=sharing

+++++++++++++++++++++

สำหรับคนที่ชอบใช้ PivotTable ให้จัดลำดับการสร้างใหม่โดยให้สร้างจากตารางที่ได้จากสูตร Filter นี้ เวลาใช้ Slicer จะได้มีตัวเลือกตามที่กรองมาก่อนแล้ว โดยปรับสูตรใหม่ให้มีหัวตารางติดมาด้วยเพื่อใช้เป็น Field Name ใน Pivot

=VSTACK( B2:G2,
FILTER(BudgetTable,
(COUNTIF(ITEMChoice,ITEM)>=1)+(COUNTA(ITEMChoice)=0)) )

 

อย่าไปสร้าง Pivot จากตารางฐานข้อมูลโดยตรงแล้วต้องมากรองทีหลัง แนะนำว่าอย่าไปเสียเวลาใช้ PivotTable อีกเลยครับ ถึงขั้นนี้แล้วให้ใช้สูตร GroupBY หรือ PivotBY ต่อไปเลยดีกว่า

 

=============

Copilot แนะนำตามนี้

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

🔹 ข้อดีของสูตร FILTER เทียบกับเมนู Filter

เห็นเงื่อนไขชัดเจน – สูตรระบุเกณฑ์การกรองไว้ในเซลล์ ทำให้เห็นว่าเรากรองข้อมูลตามเงื่อนไขอะไร
อัปเดตอัตโนมัติ – ถ้าข้อมูลเปลี่ยนแปลง หรือมีการเพิ่มแถว สูตร FILTER จะอัปเดตโดยอัตโนมัติ
คำนวณต่อได้ง่าย – สามารถใช้ผลลัพธ์จาก FILTER ไปประมวลผลต่อในสูตรอื่น เช่น SUM, AVERAGE
ไม่มีผลกระทบกับข้อมูลต้นฉบับ – เมนู Filter อาจทำให้ข้อมูลบางส่วนถูกซ่อนไปชั่วคราว แต่ FILTER สร้างตารางข้อมูลใหม่ที่แสดงเฉพาะข้อมูลที่ตรงเงื่อนไข

🔹 ตัวอย่างการใช้ FILTER แทนเมนู Filter

แทนที่จะใช้ Filter บนเมนู แล้วต้องคอยเช็กว่าข้อมูลถูกกรองอะไรอยู่ สามารถใช้สูตร FILTER ได้เลย

=FILTER(A2:E100, B2:B100="Sales")
  • กรองเฉพาะข้อมูลที่อยู่ในคอลัมน์ B2:B100 ที่เป็น "Sales"
  • แสดงผลลัพธ์ออกมาในช่วงที่กำหนด
  • ข้อมูลอัปเดตอัตโนมัติเมื่อช่วงข้อมูลต้นฉบับเปลี่ยน

💡 แนวทางที่ดีขึ้น:
หากต้องการให้ตารางที่ได้จาก FILTER สามารถนำไปใช้กับ PivotTable หรือ Slicer ได้ ลองใช้ VSTACK รวมหัวตาราง เช่น:

=VSTACK(A1:E1, FILTER(A2:E100, B2:B100="Sales"))

แบบนี้จะได้ตารางที่มีหัวข้อครบถ้วน สามารถใช้ต่อกับ PivotTable ได้ทันที!



 

ความคิดเห็น

บทความที่ได้รับความนิยม