ในการนำข้อมูลจากแหล่งใด ๆ มาแสดงตามเงื่อนไขนั้นสามารถทำได้หลายวิธี เช่น Advanced Filter, Array Fomulas, PivotTable, Consolidation หรือ เขียนโปรแกรมด้วย VBA ซึ่งจากที่กล่าวมาทั้งหมดเป็นการกระทำโดยไม่ต้องเพิ่มคอลัมน์ช่วยที่ฐานข้อมูลแต่อย่างใด ลักษณะเช่นนี้เป็นแนวทางการทำงานกับฐานข้อมูลที่ควรจะเป็น
โดยหลักการแล้วในฐานข้อมูลเราไม่ควรมีสูตรใด ๆ หรือหากมีก็ควรมีให้น้อยที่สุด ทั้งนี้เนื่องจากหากฐานข้อมูลมีขนาดใหญ่และบางคอลัมน์เป็นสูตรแล้ว จะทำให้ไฟล์มีขนาดใหญ่ขึ้นอีกมากทั้งใช้ระยะเวลาในการคำนวณนานกว่าปกติ
วิธีที่จะนำเสนอต่อไปนี้เป็นวิธีการที่ต้องมีคอลัมน์ช่วยในฐานข้อมูลเพื่อระบุว่าบรรทัดใดเข้าเงื่อนไขและถูกเลือกไปแสดงผล เพียงเพื่อให้เห็นวิธีการแบบง่ายในการดึงข้อมูลจากฐานข้อมูลตามเงื่อนไขที่ต้องการ สะดวกในการศึกษา ประยุกต์ใช้ และปรับปรุงแก้ไขสูตรที่เกี่ยวข้องได้เองในภายหลัง โดยสมมุติตัวอย่างว่าเป็นฐานข้อมูลเกี่ยวกับผลิตสินค้าและต้องการให้ผู้ใช้เลือกแสดงรายงานโดยมี “ปี” และ “เดือน” เป็นเงื่อนไข
ลักษณะงานนี้จะมีส่วนประกอบอยู่ 3 ส่วนประกอบหลักคือ
- ฐานข้อมูล
- ส่วนกำหนดเงื่อนไข
- ส่วนที่ใช้แสดงผล
ภาพประกอบการแสดงรายงานโดยระบุเงื่อนไขที่ต้องการ
จากภาพด้านบน มีขั้นตอนในการทำงานดังนี้
A. กำหนดให้เลือก “ปี” และ “เดือน” โดยไม่ต้องคีย์ลงไปในเซลล์โดยตรง
- คลิกที่ J2 > เข้าเมนู Data > Data Validation แล้วกำหนดตามภาพ
- คลิกที่ J3 > เข้าเมนู Data > Data Validation แล้วกำหนดตามภาพ
B. เขียนสูตรเพื่อดึงข้อมูลมาแสดงผล หลังจากเลือก “เดือน” และ “ปี”
- เซลล์ J5 คีย์สูตรเพื่อนับว่าพบตามเงื่อนไขกี่รายการ
=COUNTIFS($B$2:$B$3000,J2,$C$2:$C$3000,J3)
Enter - เซลล์ G2 คีย์สูตรเพื่อตรวจสอบว่ารายการใดเข้าเงื่อนไขให้แสดงหมายเลขลำดับ
=IF(AND(B2=$J$2,C2=$J$3),COUNT(G$1:G1)+1,"")
Enter > Copy ลงด้านล่างตามจำนวนข้อมูลที่มี - เซลล์ I6 คีย์สูตรเพื่อแสดงรายการที่พบตามเงื่อนไข
=IF(ROWS(I$6:I6)>$J$4,"",LOOKUP(ROWS(I$6:I6),$G$2:$G$3000,A$2:A$3000))
Enter > Copy ไปด้านขวาถึง N6 แล้ว Copy I6:N6 ลงด้านล่าง
เมื่อเลือก “ปี” และ “เดือน” ที่เซลล์ J2 และ J3 แล้ว จะนำข้อมูลจากฐานข้อมูลที่ตรงกับเงื่อนไขมาแสดง
Revised: January 29, 2017 at 07:02