Big Data — vba –> Fast Data

เมื่อข้อมูลมีจำนวนรายการมากขึ้น ย่อมส่งผลทำให้สูตร Excel คำนวณช้าลง

ทำไมจึงช้าลง เพราะเราสร้างสูตรไปหารายการจากจำนวนรายการทั้งหมด บางคนใช้วิธีกำหนดพื้นที่ทั้ง column ล้านกว่า row ไว้เสียอีก ไม่ยอมกำหนดพื้นที่เท่าที่มีข้อมูลอยู่

จะทำอย่างไรให้ Excel คำนวณเร็วขึ้น

อย่าใช้พื้นที่ทั้งหมดของข้อมูล แต่ให้นำพื้นที่เท่าที่จะใช้งานมาใช้ในการคำนวณ

จะหาขนาดพื้นที่เท่าที่จะใช้งานได้อย่างไร

สมมติ ข้อมูลที่รายการรายวันตั้งแต่ปี 2550 – 2564

พอคลิกช่องเลขปีที่ต้องการใช้ จากปี 2562 – 2564 ให้ใช้สูตร Match หาตำแหน่งรายการเริ่มต้นของปี 2562 กับตำแหน่งรายการสุดท้ายของปี 2564

พอได้ช่วงรายการของปี 2562 – 2564 แล้ว ให้ใช้สูตร Offset หาขอบเขตของรายการ

จากนั้นใช้ VBA สั่ง copy รายการที่สูตร Offset หาได้ไป paste ลงในตารางข้อมูล ซึ่งจะมีจำนวนรายการลดลงเหลือเฉพาะรายการที่ต้องการเท่านั้น

ถ้าไม่ใช้ VBA ก็ให้สร้างสูตร Offset นั้นลงไปในตาราง ซึ่ง Excel ก็จะดึงรายการมาแสดงกระจายลงไปให้เหมือนกัน

เมื่อทำแบบนี้ได้แล้ว สูตร VLookup Match Index SumIF SumProduct ก็จะคำนวณเร็วขึ้นทันที

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

ขั้นตอนเหล่านี้ ฝากเป็นโจทย์สำหรับลูกศิษย์ที่เข้าเรียนหลักสูตร Excel Dynamic Report หรือ หันมาใช้ Excel จัดการข้อมูล กับหลักสูตร VBA ลองทำกันดูนะครับ