ตามปกติสูตรจะคำนวณใหม่ให้ต่อเมื่อมีการเปลี่ยนแปลงตัวแปรที่เกี่ยวข้องหรือเซลล์ที่ใช้อ้างอิงในสูตรมีการเปลี่ยนแปลงต่างไปจากเดิม แต่ Excel ยังมีสูตรประเภทหนึ่งเรียกว่า Volatile Function ที่ชอบคำนวณใหม่อยู่เรื่อยแม้ว่าตัวสูตรเองจะไม่ได้เกี่ยวข้องสัมพันธ์กับเซลล์ที่มีการเปลี่ยนแปลงก็ตาม ทำให้แฟ้มนั้นต้องเสียเวลาคำนวณบ่อยขึ้นกว่าเดิมโดยไม่จำเป็น

สูตรที่เป็น Volatile Function ที่เราใช้กันอยู่เสมอ เช่น Now Today แฟ้มที่ใช้สูตรนี้พอเปิดขึ้นมาแม้ว่ายังไม่ได้มีการแก้ไขเปลี่ยนแปลงใดๆก็ตามในแฟ้มนั้น พอสั่งปิดแฟ้มก็จะถูกถามบนหน้าจอว่า ต้องการจัดเก็บแฟ้มก่อนหรือไม่ (Do you want to save change before close?) นั่นเป็นเพราะการเปิดแฟ้มจะกระตุ้นให้สูตรคำนวณเป็นค่าใหม่ให้แล้วนั่นเอง

สูตรอื่นที่เป็น Volatile Function ได้แก่ Rand Offset Indirect Cell Info

นอกจากนี้ยังมีลักษณะการใช้สูตรที่จะทำให้สูตร"ทุกสูตร"คำนวณใหม่โดยไม่จำเป็นคล้ายๆกับ Volatile เหมือนกัน เช่น VLookup, Sum, Max, Min เมื่อมีการเปลี่ยนแปลงค่าในเซลล์ใดเซลล์หนึ่งในพื้นที่ซึ่งอ้างอิงไว้ในสูตรก็จะกระตุ้นให้คำนวณใหม่

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

แทนที่จะหลีกเลี่ยงไม่ใช้สูตร Volatile อย่าไปห่วงนักเลยถ้าแฟ้มนั้นมีขนาดเล็ก มีสูตรไม่มากนัก ไม่เสียเวลาคำนวณในตอนที่เปิดแฟ้มทำให้เปิดช้า หรือไม่เห็นเสียเวลารอตอนที่กดปุ่ม Enter บันทึกค่าใหม่ลงไปในแฟ้ม ขอให้ใช้ไปเถอะครับ

ถ้าวันหนึ่งแฟ้มนั้นมีจำนวนสูตรมากขึ้น จนทำให้เปิดแฟ้มช้าลงหรือเสียเวลารอทุกครั้งที่กดปุ่ม Enter แค่ปรับระบบการคำนวณจาก Automatic Calculation เป็น Manual Calculation ก็จัดการทำให้สูตร Volatile ทำการคำนวณพร้อมกับสูตรอื่นครั้งเดียวเมื่อกดปุ่ม F9

ManualCalculation
แนะนำให้อ่าน Excel Speed ความเร็วที่คุณเลือกได้ (ตอนที่ 1) ได้จาก

https://www.excelexperttraining.com/365/index.php/xl-blog/excel-expert-tricks/544-excel-speed

Manual Calculation นี่แหละที่จัดการควบคุม Volatile Function ให้คำนวณได้ดังใจ