Excel modern calculation engine ระบบใหม่ที่ผู้ใช้ 365 ต้องปรับตัวตาม
เพื่อมุ่งให้ Excel คำนวณเร็วที่สุด
-เลิกใช้การอ้างอิงแบบทั้งคอลัมน์
-เลิกหาทางเปลี่ยนแปลงอะไรแบบตามใจฉันจนมากเกินไป
-เลิกซ้อนสูตรยาวๆที่ต้องเสียเวลามาคิดซ้ำ
-เลิกทำให้ power query ทำงานเองหรือ refresh อัตโนมัติทุกครั้งที่เปิดแฟ้ม
-เลิกใช้แฟ้มที่ใช้ power query ผสมกับตารางคำนวณในแฟ้มเดียวกัน
Copilot อธิบาย:
การปรับตัวให้สอดคล้องกับ Excel Modern Calculation Engine หมายถึงการออกแบบไฟล์ ให้ “คำนวณเร็ว” เสถียร และ scale ได้ตามขนาดข้อมูลที่เพิ่มขึ้น นี่คือหลักการสำคัญที่ควรยึด:
1. จัดโครงสร้างข้อมูลให้เป็น Table
- ตั้งชื่อ Table/Header ให้ชัดเจน ใช้ Structured References (เช่น Sales[Amount]) แทนการอ้างพิกัดเซลล์ทั่วไป
- Excel จะแยกชั้น Data vs. Calculation ได้ชัด ช่วย optimize dependency graph
2. ใช้ Dynamic Array Formula แบบ Single-Cell Spill
- ลืมวิธีลากสูตรลงคอลัมน์ ให้เขียนสูตรครั้งเดียว แล้วปล่อยให้มัน Spill ออกมาอัตโนมัติ (FILTER, UNIQUE, SEQUENCE ฯลฯ)
- ถ้ามีการลบ/แทรกแถวภายหลัง สูตรจะปรับขนาดเอง ไม่ต้องแก้สูตรซ้ำ
3. หลีกเลี่ยงฟังก์ชัน Volatile และ Whole-Column Reference
- OFFSET, INDIRECT, TODAY, NOW,Whole-column (A:A) จะทำให้ Excel recalc ทุกครั้ง ไม่สามารถ multithread ได้เต็มที่
- เปลี่ยนมาใช้ INDEX, structured refs, หรือระบุ Range แบบจำกัดขอบเขต
4. ลดความซับซ้อนด้วย LET
- เดี๋ยวนี้เขียน LET เพื่อเก็บค่ากลางหรือ expression ยิบย่อย แล้วเรียกใช้ซ้ำ ไม่ต้องคำนวนซ้ำหลายจุด
- สูตรอ่านง่ายขึ้น แถม Excel จัดการ caching ได้ดีขึ้นด้วย
5. เลือกใช้ Native Functions ที่ Support Multi-Threading
- XLOOKUP, XMATCH, FILTER, SORT, GROUPBY ฯลฯ ถูกออกแบบให้รันขนานได้เต็มที่
- อย่าใช้ VLOOKUP แบบคอลัมน์กว้าง หรือ INDEX(MATCH()) ซ้อนหลายชั้นเกินจำเป็น
6. แยก Layer: Data → Calculation → Presentation
- สร้าง Sheet แยกกันชัด: Raw Data, Calculation (ตั้งชื่อ Range/Table), Dashboard/Report
- ถ้ามีปัญหา performance จะระบุต้นตอได้ทันที ไม่ลากทั้งไฟล์ลงน้ำ
7. ใช้ Named LAMBDA (ถ้ามี) หรือสร้าง Library Function
- ถ้าต้อง reuse logic เดิมบ่อยๆ ให้เขียนเป็น Named LAMBDA ใน Name Manager แล้วเรียกซ้ำ
- ลดความซ้ำซ้อน และแก้สูตรครั้งเดียว กระทบทั้งไฟล์
8. คุม Dependency Chain ให้สั้น
- อย่าให้สูตรลาก dependency ยาวเป็นทอดๆ เพราะเส้นทางคำนวณยิ่งยาว Excel ยิ่งเสียเวลา track
- ถ้าต้องคำนวนหลายขั้น ให้แยกเป็น intermediate step ใน Calculation Sheet
9. Optimize Calculation Settings เมื่อไฟล์ใหญ่
- เปลี่ยนเป็น Manual Calculation / Recalculate Workbook ก่อนบันทึก
- หรือใช้ Application.Calculation = xlCalculationManual ใน VBA แค่ตอนที่ทำ Process ใหญ่ๆ
10. Monitor & Tune Performance
- ใช้ Evaluate Formula, Workbook Statistics, Inquire Add-in ดูจุด bottleneck
- ลองคัดลอกไปไฟล์เปล่า ทดลองเฉพาะส่วนที่ช้า เพื่อ isolate ปรับปรุง
ถ้าเรายึดตามแนวทางนี้ จะได้ประโยชน์เต็มที่จาก Calculation Engine ตัวใหม่:
• รันสมูทบนข้อมูลใหญ่ๆ
• รองรับ spill-aware design
• ทำงานร่วมกันบน Excel 365 ได้ราบรื่น
เพิ่มเติมที่คุณอาจสนใจ:
- ลองศึกษา “Formula Dependency Diagram” ผ่าน Inquire เพื่อ visualize การเชื่อมโยง
- สำรวจ Office JavaScript Custom Functions ถ้าต้องการเติมฟังก์ชันเฉพาะทางที่ beyond LAMBDA
- ติดตาม roadmap Excel Labs (Insider) ว่าจะมี helper tools อะไรช่วย optimize formula อีกบ้าง
ความคิดเห็น
แสดงความคิดเห็น