PivotTable_TheBarrier_150416

คุณชอบ Pivot Table ไหมครับ?

พิเวิตเทเบิล คือเครื่องมือที่ทำให้การสรุปข้อมูลเป็นเรื่องง่ายเพียงปลายคลิก

ในระยะหลัง รีพอร์ตมักถูกออกแบบในรูปแบบของพิเวิตเทเบิล เพราะจุดเด่นของเจ้านี่คือ

  1. ใช้ง่าย สะดวก รวดเร็ว
  2. เลือกเงื่อนไข (Filter) ได้ตามต้องการ
  3. ปรับเปลี่ยนรูปแบบ (Re-format) ได้ตามปรารถนา

แต่ด้วยความง่ายนี่เอง ที่อาจสกัดกั้นทักษะ Excel ของเราให้หยุดไว้เพียงเท่านี้…

ถ้าเราใช้งานเป็นแค่ Pivot Table เราอาจจะ

  • ลืมไปแล้วว่ามีฟังก์ชั่น SUMIFS อยู่
  • ไม่รู้จักการใช้ SUM Array หรือ SUMPRODUCT (อ่านรายละเอียดการใช้ Sum Array และ SUMPRODUCT ใน 10 เทคนิคการ SUM ใน Excel ที่คุณต้องรู้!)
  • แอบใช้ VLOOKUP ที่คอลัมน์ด้านขวามือ (ถัดจากคอลัมน์สุดท้ายของพิเวิตเทเบิล) เพื่อดึงข้อมูล (เช่น product group, customer group) ที่ต้องการ ทำเนียนๆว่าจัดข้อมูลแบบนี้แหละถูกต้องแล้ว
  • ถ้าเจอเงื่อนไขยากๆ จะสร้างพิเวิตเทเบิลหลายๆตารางก่อน แล้วลิงค์ข้อมูลจากพิเวิตเทเบิลเหล่านั้นไปยังอีกตารางนึง แทนที่จะสร้างเพียงตารางเดียวเพื่อสรุปข้อมูลทั้งหมด

ในความเป็นจริงแล้ว ตารางที่ได้จากพิเวิตเทเบิล ควรเป็นตารางสรุปสุดท้ายและจบในตัวเอง

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

(ผมเคยเขียนรายละเอียดไว้ในข้อห้ามข้อ 4 ของบทความเรื่อง 7 สิ่งอย่างในเอ็กเซลที่คุณควรหลีกเลี่ยง)

พิเวิตเทเบิลเวอร์ชันหลังๆถูกพัฒนาเพื่อกลบข้อด้อยของเวอร์ชันก่อน จนเรียกได้ว่าตอบได้เกือบทุกความต้องการแล้ว

แต่…. ความต้องการไม่เคยหยุดนิ่ง

ต้องมีรีเควสขอรีพอร์ตที่มีเงื่อนไขจุกจิกทุกทีสิน่า!

ไอ้เจ้าจุกจิกนี่แหละ ที่ดันไปตรงกับข้อจำกัดของพิเวิตเทเบิล เวลาทำทีไร ก็ต้องแมนวลตลอด

แล้วจะทำยังไงล่ะ!

สร้างรีพอร์ตเองโดยใช้ Sum Array (หรือ SUMPRODUCT ที่เลียนแบบโครงสร้างของ Sum Array) หรือใช้ Power Pivot ครับ

งั้นก็ใช้ Sum Array ทุกครั้งไปเลยสิ ไม่ต้องใช้พิเวิตเทเบิลแล้ว?

Sum Array (รวมถึง SUMPRODUCT) ไม่ได้มีแค่ข้อดีครับ มีข้อเสียใหญ่ๆ 3 ข้อด้วยกัน คือ

  1. เขียนสูตรยาก บางครั้งอาจนำ Name Manager และฟังก์ชัน OFFSET มาฟีเจอร์ริ่ง เพื่อลบข้อจำกัดบางอย่าง
  2. เสียเวลาออกแบบตาราง เพราะต้องออกแบบทุกอย่างเองหมด ไม่ได้ออกแบบอัตโนมัติและลากๆข้อมูลไปใส่เข้าไปเหมือนพิเวิตเทเบิล
  3. คำนวณช้า ถ้าใช้กับข้อมูลจำนวนมาก การคำนวณจะอืดสุดๆ (คำนวณช้ากว่าพิเวิตเทเบิลแน่นอน) และทำให้ไฟล์มีขนาดใหญ่

แต่ SUM Array (และ SUMPRODUCT) ก็มีจุดเด่นหลายอย่างที่การคำนวณในพิเวิตเทเบิลทำไม่ได้

แล้ว Power Pivot ล่ะ?

Power Pivot คือเครื่องมือที่เจ๋งมากๆ มีความสามารถที่พิเวิตเทเบิลแบบธรรมดาทำไม่ได้มากมาย

ถ้าใช้กับฐานข้อมูลขนาดใหญ่ ยิ่งเห็นผลชัดเจน

เรียกได้ว่ายก MS Access มาไว้ที่ MS Excel แบบย่อมๆเลยก็ว่าได้

แต่… ไม่ใช่ว่าทุกเวอร์ชันของเอ็กเซลจะใช้ Power Pivot ได้ทั้งหมด มีแค่บางเวอร์ชันเท่านั้นที่ใช้ได้ คือ

  • Excel 2010 แต่ต้องลง Add-Ins เพิ่มเติม (ดูรายละเอียดได้จาก https://msdn.microsoft.com/en-us/library/gg413462(v=sql.110).aspx)
  • Excel 2013/ 2016 มีแค่ 2 เวอร์ชันที่ใช้ได้คือ Office Professional Plus และ Excel แบบขายแยกกล่อง (Standalone, เมืองไทยไม่ค่อยมีใครซื้อแบบนี้)
  • Office 365 มีแค่ 3 เวอร์ชันที่ใช้ได้คือ Office 365 ProPlus, Office 365 Enterprise E3, Office 365 Enterprise E5

แปลว่า เวอร์ชันอื่นหมดสิทธิ์ !

เช่น ถ้าตอนนี้เราใช้

  • Office Home and Student 2013
  • Office Home and Student 2016
  • Office Home and Business 2016
  • Office 365 Home
  • Office 365 Personal
  • Office 365 Business
  • Office 365 Business Essentials
  • Office 365 Business Premium
  • Office 365 Enterprise E1

พวกนี้หมดสิทธิ์ทั้งหมด !!

(Excel 2010 ใช้ Power Pivot ได้ ผมเคยลง Power Pivot Add-Ins ใน Office Professional 2010 แล้วพบว่าใช้ได้ แต่ไม่มั่นใจว่า Power Pivot สามารถลงในเวอร์ชัน Office Home & Student 2010 ได้หรือไม่ เคยค้นในอินเทอร์เน็ตแล้วพบว่าบางคนลงไม่ได้ แต่ไมโครซอฟต์แจ้งว่าไม่มีข้อจำกัดนี้)

อย่างไรก็ตาม ต่อให้คอมพ์ของเรามี Power Pivot แต่ถ้าเราส่งไฟล์ที่สร้างด้วย Power Pivot ให้กับคนอื่นที่ไม่มี Power Pivot เค้าจะแค่เปิดไฟล์ได้เฉยๆ แต่ปรับ slicer, filter หรือปรับโครงสร้างตารางไม่ได้เลย (เหมือนได้ตารางแบบ paste value)

เรียกได้ว่า เวอร์ชันที่สามารถใช้ Power Pivot ได้ มีค่อนข้างจำกัดมาก

Power Pivot มีฟีเจอร์ใหม่ๆมากมาย ถ้าจะใช้ให้คล่อง ต้องทุ่มเทเวลาศึกษาไม่น้อย (แต่คุ้มนะ ^^)

งั้นทำยังไงดี?

จากประสบการณ์ตรง แนะนำให้ใช้พิเวิตเทเบิลสรุปข้อมูลเป็นตัวเลือกแรกก่อน (เพราะง่ายและเร็ว)

ถ้าเจอข้อจำกัดบางอย่าง ควรออกแบบตารางเองแล้วใช้ Sum Array (หรืือ SUMPRODUCT) สรุปข้อมูลนั้น

ไม่แนะนำให้ใช้ Sum Array ตั้งแต่แรก เพราะกว่า 80% ของความต้องการทั้งหมดน่าจะจบที่พิเวิตเทเบิลได้

เราควรใช้พิเวิตเทเบิลเป็น “ไม้แรก”เพื่อสรุปตัวเลข แต่อย่าให้เป็น “ไม้ตาย”

(หรือมีแค่ “ไม้เดียว”)

แปลว่าต้องทำเป็นทั้งสองอย่างสิ ทั้ง Pivot Table และ Sum Array?

คำตอบคือ ใช่ครับ

สำหรับผมแล้ว พิเวิตเทเบิลคือฟีเจอร์พื้นฐานที่ทุกคนควรใช้เป็น

ย้ำ! ว่าคือฟีเจอร์พื้นฐาน

แต่อย่ายึดติดกับพิเวิตเทเบิลเพียงอย่างเดียว เพราะเราจะหยุดพัฒนาความสามารถด้านเอ็กเซลโดยไม่รู้ตัว (ถ้าใช้งานในเชิงลึกจะพบว่ามีข้อจำกัดหลายอย่าง)

อยากเก่งเอ็กเซล อย่าหยุดที่พิเวิตเทเบิล

พิเวิตเทเบิลเป็นเพียงขั้นที่ 4 ของ 10 ขั้นวิทยายุทธ์เอ็กเซล เท่านั้น ยังมีอะไรอีกมากมายที่น่าเรียนรู้ และรอให้เรียนรู้

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

และเราก็จะรักเอ็กเซลโดยไม่รู้ตัว

ผมรักเอ็กเซลตั้งแต่ตอนไหนก็ไม่รู้ พอรู้ตัวก็รักไปแล้ว

แล้วคุณล่ะ?

ขอให้สนุกกับการใช้เอ็กเซลทุกคนครับ ^__^

.

หากคุณชอบบทความแนวนี้ สามารถอัพเดตบทความใหม่ๆโดยคลิก Like เฟสบุ๊คแฟนเพจ วิศวกรรีพอร์ต หรือคลิก ที่นี่

อย่าลืมแชร์ให้เพื่อนอ่านเพื่อเป็นกำลังใจให้คนเขียนด้วยนะครับ ^__^