🧙♂️ จากโพสต์ที่พวกเราช่วยกันออกความเห็นว่าสูตรอะไรเป็นสูตรขั้นเทพ สำคัญที่สุดในการใช้ Excel พบว่ากว่าครึ่งตอบว่า Pivot Table ... เรามาหาความจริงกันหน่อย
☝️ จริงครับ Pivot Table เป็นสูตรขั้นเทพ เพราะสามารถใช้สูตรที่มองไม่เห็น หายตัวได้ คำนวณหาคำตอบมาให้ แค่เป่าลมโอมเพี้ยงเดียวก็ได้ตารางคำตอบมาให้แล้ว
สูตรที่หายตัวนี้แอบอยู่ในแฟ้มที่สร้างตาราง Pivot เอาไว้ โดยอยู่ในส่วนที่เรียกว่า cache data เก็บทั้งตารางฐานข้อมูลแล้วคำนวณหาคำตอบ ส่งผลลัพธ์กลับมาให้โดยเราไม่ต้องคิดสร้างสูตรเองเลย ซึ่งจะมีผลทำให้แฟ้มมีขนาดใหญ่ขึ้น
🧐 ระวังเทพจะตกสวรรค์ ถ้าไม่ระวังเรื่องต่อไปนี้
ต้องเข้าใจให้ดีว่า การคำนวณของ Pivot Table ไม่ได้ใช้ระบบคำนวณอัตโนมัติตามแบบปกติที่เมื่อข้อมูลที่เก็บไว้มีการเปลี่ยนแปลง ตัวเลขคำตอบที่ได้จากสูตรจะปรับตามเป็นผลลัพธ์ใหม่ให้ทันที
ก่อนโน้นแนะนำกันว่า เมื่อต้องการให้ Pivot คำนวณใหม่ต้องสั่ง Refresh แต่พบว่าบางตารางเท่านั้นที่แสดงคำตอบใหม่ให้ บางตารางยังคงเป็นยอดเดิมอยู่เลย นั่นเป็นเพราะ การสั่ง Refresh มีผลกับตารางนั้นตารางเดียว ทำให้ cache data ของตารางนั้นคำนวณใหม่ ส่วน cache data ของตารางอื่นยังเหมือนเดิม ไม่ได้คำนวณใหม่ตาม
นี่คือเรื่องในประวัติศาสตร์ครับ เพราะก่อนโน้นมี option ตอนสร้าง Pivot ไว้ด้วยว่าอยากให้ใช้ cache ร่วมกันทุกตารางหรือให้สร้าง cache ใหม่แยกสำหรับแต่ละตาราง ซึ่ง option นี้ในปัจจุบันก็ยังเปิดให้ทำได้ด้วยแต่ยากหน่อย
ถ้าใช้ cache แยก ก็ต้องสั่ง Refresh ทีละตาราง มีข้อดีตรงช่วยทำให้แต่ละตารางให้คำตอบที่ไม่ต้องเปลี่ยนตาม แต่ถ้าใช้ cache ร่วม แค่สั่ง Refresh ตารางเดียว จะมีผลให้ทุกตารางคำนวณใหม่ให้
ปรากฎว่าผู้ใช้ Excel งงกันเพราะไม่มีใครจำได้หรอกว่าตารางไหนใช้ cache แยกหรือ cache ร่วม ดังนั้นใน Excel ตั้งแต่รุ่น 2010 (ถ้าจำไม่ผิด) จะใช้ cache ร่วมกันตัวเดียวเท่านั้น พอ Refresh จะสั่งคำนวณใหม่ให้กับทุกตาราง
ถ้าคุณสร้าง Pivot ขึ้นมาใช้เองก็ไม่น่าห่วงนัก แต่ถ้าสร้างแฟ้มส่งให้คนอื่นใช้ หรือคุณใช้แฟ้มที่คนอื่นสร้างมาให้ต้องตรวจสอบให้ดีว่า Pivot ในแฟ้มนั้นถูกสร้างมาแบบใช้ cache แยกหรือแบบร่วมกัน
👉 ลองใส่ตัวเลขใหม่ทับตัวเลขเดิมหรือเพิ่มรายการใหม่ลงไปในตารางฐานข้อมูลต้นทางแล้วสั่ง Refresh ถ้าทุกตารางเปลี่ยนตามก็แสดงว่าใช้ cache ร่วม เจอแบบนี้ไม่น่าห่วง
แต่ถ้าบางตารางตัวเลขยังคงเดิม ไม่เห็นรายการใหม่มาแสดง นั่นแสดงว่าเป็น cache แยก แทนที่จะสั่ง Refresh แบบธรรมดาที่ทำง่ายๆโดยการคลิกขวาแล้วจะพบคำสั่งนี้ ให้เปลี่ยนไปคลิกที่เมนูแล้วสั่ง Refresh ALL แทนครับ
ทางที่ปลอดภัยที่สุด แนะนำให้ Refresh ALL เสมอ