XTS 07 ริจะใช้ Excel อย่าขัดขา Excel (ตอนที่ 7) ภัยเงียบของ Pivot Table

ภัยเงียบที่ร้ายกาจของ Pivot Table
ริจะใช้ Excel อย่าขัดขา Excel (ตอนที่ 7)

มีใครบ้างใช้ Pivot Table ครั้งเดียวแล้วทิ้ง มีใครบ้างสร้าง Pivot Table ใหม่ทุกครั้ง ไม่เคยเอาของเก่าที่ทำไว้แล้วมาใช้ซ้ำอีก … แทบทุกคนมีแต่ใช้ตาราง Pivot Table ที่สร้างขึ้นมาใช้แล้วใช้อีกใช่ไหม ทราบไหมว่าภัยเงียบที่ร้ายกาจของ Pivot Table คืออะไร

Pivot Table เป็นเครื่องมือมหัศจรรย์ที่ช่วยสร้างตารางหายอดรวมได้ในพริบตา ไม่ต้องเสียเวลามาสร้างสูตรเอง แต่ Pivot Table จะเงียบเสียง ไม่มีสัญญาณเตือนอะไรเลยให้ทราบว่า ตัวเลขที่คำนวณมาให้นั้นยังเป็นค่าเก่า ยังไม่ได้นำค่าใหม่มาใช้ในการคำนวณ

onOFFSwitch

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

AutoManualCalc

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

สูตร VLookup จะคำนวณใหม่เองทุกครั้งที่มีการเปลี่ยนแปลงค่าในพื้นที่ตารางที่นำมาอ้างอิงไว้ในสูตร เช่น สร้างสูตร =VLookup(รหัส,DataRange,2) ซึ่งเลข 2 หมายถึงให้คืนค่าคำตอบมาจาก column ที่ 2 ในพื้นที่ตาราง DataRange แต่ถ้า DataRange มีพื้นที่ 10 column ทำให้เมื่อมีการเปลี่ยนค่าใน column อื่นก็จะกระตุ้นให้ VLookup คำนวณใหม่เสมอแม้ให้คำตอบเดิมก็ตาม

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

ระบบการคำนวณแบบ Manual นี้ มักมีคำแนะนำว่าไม่ควรใช้เพราะคนทั่วไปติดนิสัยกับการคำนวณแบบ Automatic ซึ่งอย่างไรก็ตามระบบการคำนวณแบบ Manual Calculation ก็ยังดีกว่าการใช้ Pivot Table ที่ไม่มีคำเตือนอะไรให้ทราบแม้แต่น้อย

Pivot Table จะคำนวณใหม่ให้ต่อเมื่อสั่ง Refresh หรือ Refresh All ในกรณีที่มีหลายตาราง

ที่น่าห่วงก็คือ ถ้าคนที่ใช้แฟ้มนั้นไม่ได้เป็นคนสร้าง เขาจะทราบได้อย่างไรว่าต้องสั่ง Refresh และจะไป Refresh ที่ตรงไหนในแฟ้ม

ยิ่งมีการลิงก์ค่าจากยอดรวมที่ได้จากตาราง Pivot Table ไปใช้คำนวณต่อร่วมกับเซลล์สูตรอื่นด้วยแล้ว ยิ่งน่ากลัวขึ้นไปอีกเพราะที่เห็นว่า Excel คำนวณหาคำตอบใหม่ นั่นเป็นเพราะระบบ Automatic Calculation แต่ไม่ได้มาจากข้อมูลใหม่ในฐานข้อมูลของ Pivot Table

แนะนำให้อ่าน

https://docs.microsoft.com/en-us/office/vba/excel/concepts/excel-performance/excel-improving-calculation-performance?WT.mc_id=M365-MVP-4000499