หลายครั้งที่เรา ใช้ Excel แล้วใส่ Filter เพื่อดูกลุ่มข้อมูลที่สนใจ และพบปัญหาว่าลำดับข้อมูลที่เคยเรียงอยู่ ไม่เรียงเหมือนเดิม เช่น 1,3,7,8 แล้วจะทำยังไงดีล่ะ
ซึ่งใน Excel จะมี Function SUBTOTAL ซึ่งช่วยทำการคำนวณเฉพาะข้อมูลที่ยังคงมองเห็นอยู่หลังถูก Filter ไปแล้วโดย
รูปแบบคำสั่งของ SUBTOTAL คือ SUBTOTAL (function_num, ref1, [ref2], …)
โดยจะมี function_code ฟังก์ชันที่จะใช้ในการรวมผลย่อย
1 คือ AVERAGE
2 คือ COUNT
3 คือ COUNTA
4 คือ MAX
5 คือ MIN
6 คือ PRODUCT
7 คือ STDEV
8 คือ STDEVP
9 คือ SUM
10 คือ VAR
11 คือ VARP
ในที่นี้เราใช้ code 3 (COUNTA) ในการนับจำนวนข้อมูลจากแถวแรกถึงแถวที่จะใส่เลขลำดับนั้นๆ เพื่อให้รู้ว่ามีข้อมูลกี่รายการหลังถูก Filter ไปแล้ว
ตัวอย่างวันนี้
เป็นข้อมูลจากการสำรวจ size เสื้อขององค์กร เมื่อเรา Filter หน่วยงานที่สังกัด เพื่อที่จะดูว่าใครสั่ง size เสื้ออะไรบ้าง สามารถเขียนสูตรในแถวที่ 2 ได้ ดังนี้ =SUBTOTAL(3,B2:B2) โดยคอลัมน์ที่เราใช้ในสูตร ต้องไม่มีค่าว่าง
ในตัวอย่างนี้จะใช้ คอลัมน์ B (ชื่อ-สกุล) หรือ C (หน่วยงานที่สังกัด) ก็ได้
การ copy สูตร ควรจะ fix cell Reference เพื่อไม่ให้สูตรเลื่อน จะได้เป็น
=SUBTOTAL(3,B$2:B2)
ซึ่งสูตรนี้จะไม่นับแถวสุดท้ายของการ filter จึงต้อง คูณด้วย *1 เพื่อให้เอาแถวสุดท้ายของการ filter มานับด้วย สุดท้ายจึงผลลัพธ์ของสูตรออกมา
=SUBTOTAL(3,B$2:B2)*1
จากนั้นเราสามารถ copy สูตรมาใช้ได้ทั้งคอลัมน์
เมื่อทำการ filter หลังจากใช้สูตร จากรูปสังเกตในช่องสูตรลำดับที่ 1 เดิมจะเป็นข้อมูล แถวที่ 2 คอลัมน์ที่ 3 นั้นเอง
ขอขอบคุณ :https://www.inwexcel.com