จัดกลุ่ม PivotTable

จัดกลุ่ม PivotTable ตามช่วงข้อมูล เช่น เดือน ปี หรือ วัน หรือ อื่น ๆ

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

บางคนสงสัยว่า ทำไม บางทีพอเอาข้อมูลไปทำ Pivot ใน Excel แล้วบางทีมันก็แบ่งข้อมูลเป็นเดือนให้ หรือบางทีก็เป็นรายไตรมาส บางทีก็เป็นวันที่เรียงวันแบบทื่อ ๆ เลย

ในครั้งนี้ก็เลยจะพูดถึงการจัดการแบ่งหรือจัดกลุ่มตามเดือน ปี ไตรมาส ใน Pivot กัน

(อนุมาณว่า ท่านที่อ่านอยู่นี้เคยทำ PivotTable กันมาแล้ว)

ตัวอย่าง ใช้ sampledataworkorders ของเว็บ https://www.contextures.com/xlsampledata01.html

PivotTable

มาเริ่มกันด้วยสิ่งที่เป็นพื้น ๆ เลย สมมติว่า เราจะทำ Pivot Table จากตารางนี้ โดยเอา ReqDate เป็นตัวจัดกลุ่ม และนับจำนวน Service

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

แต่…บางท่านก็ไม่ใช่แบบนี้ บางท่านจะกลายเป็นวันที่เรียงกันยาวเหยียด

โอเค เรามาเริ่มต้นกันด้วยเรื่องนี้ ว่ามันมีที่มาที่ไปอย่างไร

Date Grouping

ตั้งแต่ Excel 2016 เป็นต้นมา ถ้าหากว่าเราจัดการ Pivot ที่ข้อมูลวันที่ Excel จะจัดกลุ่ม ปี-ไตรมาส-เดือน ให้เราโดยอัตโนมัติ

จัดกลุ่ม PivotTable

ถ้า เราจัดเรียงวันที่ (ย้ำว่าอยู่ในรูปแบบวันที่ถูกต้อง) การจะให้ Pivot ทำงานแทนเราเป็นเรื่องสะดวกมาก จะจับให้เป็นรายไตรมาส รายเดือน หรือ รายปี ก็ได้

Automatic Date Grouping

สำหรับคนที่ต้องการ ปิด/เปิด การจัดกลุ่มวันที่อัตโนมัติ ตั้งค่าได้ดังนี้ (ตัวอย่างนี้ใช้ Excel 2019 / Excel 365 เวอร์ชันอื่นอาจจะต่างไปจากนี้เล็กน้อย)

  • ที่ Ribbon คลิก File คลิก Options
  • ดูตรงด้านซ้าย คลิก Data
  • ดูตรง Data options section ติ๊กถูกที่ “Disable automatic grouping of Date/Time columns in PivotTables”
  • คลิก OK
Disable Auto Grouping

เพียงเท่านี้ Excel จะไม่จัดกลุ่มให้เราอัตโนมัติเมื่อเจอข้อมูลที่เป็นตัวเลขหรือเวลา

Group / Ungroup

สิ่งที่เราจะทำ ก็เพียงแค่คลิกข้อมูลช่วงวันที่ แล้วคลิกขวา

จัดกลุ่ม PivotTable ตามช่วงข้อมูล เช่น เดือน ปี หรือ วัน หรือ อื่น

จะมีให้เลือก group (หรือในทางกลับกัน – ungroup)

วันที่

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

วิธีการง่ายมาก เพียงแค่ คลิกขวาที่เซลล์ใดก็ได้ที่เป็นคอลัมน์วันที่ในตาราง Pivot

คลิก Group จะมีหน้าต่างขึ้นมา ช่วงบน จะเป็นวันที่เริ่มและสิ้นสุด ค่ามาตรฐานคือ auto ซึ่งจะ เก็บช่วงเวลาทั้งหมดในคอลัมน์นั้นไว้  หากต้องการจำกัดช่วงเวลา ให้พิมพ์วันที่ในช่อง Start และ/หรือ End

ด้านล่าง จะเป็น By ซึ่งจะมีให้เลือกเป็น ว่าจะจัดกลุ่มเป็นอะไร วินาที นาที ชั่วโมง วัน เดือน ไตรมาส และปี เลือกตัวเลือกเหล่านี้อย่างน้อยหนึ่งตัวเลือก เพื่อสร้างประเภทการจัดกลุ่มวันที่ที่ต้องการ

กรณีที่เลือกเป็นวัน เราเลือกจะมีตัวเลือกว่า เป็นจำนวนกี่วัน ด้านล่าง

เพียงเท่านี้เอง สาธุชน

กรณีที่เป็นตัวเลขก็เช่นเดียวกัน ท่านสามารถจัดกลุ่มข้อมูลเพื่อนำมาพิจารณาได้อย่างง่ายดาย

Data Model

มีสิ่งที่ต้องบอกกันก่อนว่า ถ้าคุณทำ Data Model คุณจะจัดกลุ่มข้อมูลแบบข้างต้นไม่ได้

บางคนก็อาจจะสงสัยว่า เอ๊ะ ไปทำ Data Model ตอนไหน

จำตอนที่ท่านสร้าง Pivot Table ได้มั้ย มันจะมีตอนล่าง ๆ ของหน้าต่างบอกว่า Add this data to the Data Model ถ้าท่านติ๊กถูกตรงหน้าช่องนี้ ท่านจะไม่สามารถจัดกลุ่มใน Pivot Table ได้ เพราะจะกลายเป็น OLAP-Power Pivot

ถ้าต้องการจัดกลุ่มจริง ๆ อาจจะต้องสร้าง Pivot Table ใหม่ หรือไม่ก็สร้างอีกคอลัมน์แล้วกำหนดการจัดกลุ่มไว้ในคอลัมน์นั้นแทน

ความคิดเห็น