co-create
บทความนี้คือส่วนหนึ่งของโครงการ ร่วมสร้าง “หนังสือคู่มือ Excel ที่เจ๋งที่สุด” ใครที่มี comment เพื่อแนะนำ ปรับปรุงหนังสือได้ คุณจะได้เครดิตในฐานะผู้ร่วมเขียน ลงในหนังสือที่จะพิมพ์จริงๆ ด้วย! อ่านรายละเอียด และดูสารบัญหนังสือ คลิ๊กที่นี่


 

ปรับรูปแบบการแสดงผล

ปกติแล้ว Pivot Table จะแสดงผลในรูปแบบที่เรียกว่า Compact Form ตามรูปในบทที่แล้ว ซึ่งความชอบส่วนตัวผมเองชอบให้แสดงในรูปแบบ Tabular Form มากกว่า

ผมแนะนำให้ลองทำดูโดยให้ทำดังนี้

ให้คลิ๊กที่ PivotTable แล้วไปที่ (PivotTable)

[Design]–>Layout –> Report Layout –> Show in Tabular Form

Pivot-Basic-Tabular

จะเห็นว่าข้อมูลแต่ละ Row และ Column จะแยกกันชัดเจน อยู่คนละช่องกันไปเลย และมีชื่อ Field กำกับอยู่ตลอด ทำให้ไม่สับสนเหมือนดู Tabular Form

 

ใครดูแล้วชอบแบบผมก็แนะนำให้ปรับตามได้เลยครับ

ต่อมาเรามาดูกันว่า แต่ละส่วนของ PivotTable นั้น เราสามารถจะเล่นหรือปรับแต่งอะไรมันได้บ้าง เพื่อให้ได้ผลลัพธ์ตามที่ต้องการ โดยที่จะไล่ดูทีละ Slot

ลูกเล่นที่ Report Filter

Pivot-Filter

ตรงนี้มีเครื่องมือ Filter ให้ใช้เป็นหลัก ซึ่งยอมให้เราเลือก Choice ได้หลายอันพร้อมกันได้ด้วย

วิธีการคือให้ติ๊กปุ่ม Select Multiple Items ก่อน นอกจากนี้เราสามารถทำการ Search ได้เช่นเดียวกันเครื่องมือ Filter ปกติเลย

เมื่อเราทำการ Filter แล้วจะเหลือผลลัพธ์แค่สิ่งที่เราสนใจเท่านั้น เช่น ถ้า Filter ตามรูป

Pivot-Filter-after

จะเห็นว่าข้อมูลบางช่องลดลงไปจากเดิม (เช่น F14 ลดจาก 540 เหลือ 160) เนื่องจากถูกกรองข้อมูลออกไปนั่นเอง ซึ่งเราสามารถสังเกตเครื่องหมายกรวยกรองได้จาก Section Filter บนตาราง Pivot และบริเวณ Field List ด้านขวา

สร้าง Report แยกตาม Filter แต่ละ Item ด้วย Generate Report Filter Page

บ่อยครั้งคุณอาจอยากจะสร้าง PivotTable หลายๆ ตาราง แยกตามสิ่งที่คุณสนใจ เช่น แยกตามประเภทสินค้า

reportfilter-1

ปกติแล้วต้องเลือกสินค้าดูทีละชิ้นกว่าจะเลือกครบก็เสียเวลามาก… ผมมีเทคนิคแนะนำ โดยให้ Excel ทำในสิ่งที่คุณต้องการโดยอัตโนมัติ ให้ไปที่ [[Options]] –> PivotTable –> Options –> Show Report Filter Page… –> เลือก Filter ที่ต้องการ

reportfilter-3

Excel จะทำการสร้าง PivotTable ออกมาแยกเป็น Sheet ละ 1 Item ของ Filter นั้นๆ โดยอัตโนมัติ!!

reportfilter-4

ลูกเล่นที่ Row Label และ Column Label

1. สามารถกดปุ่มลูกศร แล้วเลือก Sort ข้อมูล หรือ Filter ข้อมูลบน Label ได้

การ Sort กับการ Filter ที่เราเรียนรู้มาก่อนหน้านี้ ก็มีให้เลือกใช้ใน PivotTable เช่นกัน

Pivot-RowLabel Pivot-More-sort

การ Sort ข้อมูล

การ Sort มีวัตถุประสงค์เพื่อให้ผู้อ่านข้อมูล เข้าใจข้อมูลได้ง่ายขึ้น เช่น ถ้าเรากำหนดให้ Row label หรือ Column Label เรียงหัวข้อตามตัวอักษร หรือ เรียงตามที่มีข้อมูลสรุป เช่น ค่า SUM หรือ COUNT จากน้อยไปมาก มากไปน้อย ย่อมดีกว่าการเรียงข้อมูลแบบ “สะเปะสะปะ” แน่นอน

  • A -> Z (น้อยไปมาก) หรือ Z -> A (มากไปน้อย)
  • More Sort Options
    • Manual คือ ยอมให้เราลากสลับตำแหน่งเองได้ตามต้องการ
    • Ascending by: หรือ Descending by: Field xxx คือ ให้เรียง Field ตามข้อมูลใน Field Values อื่น ตรงนี้มีประโยชน์มาก เช่น อาจเรียงประเภทสินค้าตามยอดขายจากมากไปน้อยเป็นต้น
การ Filter ข้อมูล

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

2. สามารถเปลี่ยนชื่อของ Label ได้

กรณีที่ชื่อเดิมจาก Data Source อาจจะสื่อสารกับผู้อ่านข้อมูลได้ไม่ดี เราสามารถเปลี่ยนชื่อประเภทข้อมูลที่เป็นหัวตารางใน PivotTable ได้ โดยการคลิ๊กเลือก Label ที่ต้องการจะแก้ แล้วพิมพ์ข้อความใหม่ลงไปเลย แล้วกด Enter เช่น ผมสามารถคลิ๊กคำว่า เงินสด แล้วพิมพ์ว่า Cash ลงไปแทน ได้เลย เป็นต้น

3. สามารถจัดกลุ่มข้อมูลได้ (Group & Ungroup)

การจัดกลุ่มนั้นเราทำเพื่อให้เห็นภาพรวมของข้อมูลได้ดีขึ้น และอาจเห็นความสัมพันธ์บางอย่างจากการแบ่งกลุ่มที่เหมาะสม

เช่น เห็นโอกาสหรือช่องโหว่ในกลุ่มบางกลุ่ม หรืออาจเห็นการแจกแจงจำนวนของแต่ละกลุ่ม เป็นต้น
การจัดกลุ่มมีอยู่ 2 ลักษณะ ใหญ่ๆ คือ

ประเภท จัดกลุ่มแบบ Manual จัดกลุ่มแบบ Auto
วิธีการทำ การเลือกว่าจะเอา item ไหนจัดอยู่ด้วยกัน โดยการเลือก Selection เองจากนั้นค่อยกด Group Excel จะขึ้นมาให้เลือกว่าจะ Group ช่วงทีละเท่าไหร่
ประเภทข้อมูลที่ใช้ได้ ทุกประเภท ใช้ได้กับข้อมูลที่เป็นตัวเลขหรือพวกวันที่เท่านั้น และจะต้องไม่มีค่าว่างอยู่ใน Data Source เลย
ข้อมูลหลังจากการ Group จะมี Field ใหม่เพิ่มขึ้นมาให้โดยอัตโนมัติ
ในชื่อ Field เดิม
แต่มีเลขต่อท้าย
กรณีข้อมูลเป็นตัวเลข : ไม่มี Field ใหม่เพิ่มขึ้นมาให้ แต่มันจะเปลี่ยนข้อมูลที่ Field ต้นฉบับเลยกรณีข้อมูลเป็นวันที่ : ประเภทช่วงวันที่ที่ย่อยที่สุดจะมาทับที่ Field เดิม และจะมีการสร้าง Field ใหม่ในประเภทช่วงวันที่ที่ใหญ่กว่าด้วย เช่น เลือกให้ Group ตาม Year, Quarter, Month ผลก็คือ Field วันที่ Date เดิม จะกลายเป็น Month และจะมี Field ชื่อ Quarters และ Years เพิ่มขึ้น

 

วิธีการจัดกลุ่มแบบ Manual

  • ให้ทำ selection เลือก Label ที่ต้องการจัดให้อยู่ในกลุ่มเดียวกันพร้อมกันก่อน
  • จากนั้นกด (PivotTable) [[Options]] –> Group –> Group Selections
    หรือ กดคลิ๊กขวา –> Group… ก็ได้
    pivot-group-menu
  • เมื่อ Group แล้วจะมี Field ใหม่เพิ่มขึ้นมาให้โดยอัตโนมัติ ในชื่อ Field เดิมแต่มีเลขต่อท้าย
  • จากนั้นเราก็สามารถเอา Field เก่าออกไปได้เลย (กดคลิ๊กขวาที่ ผู้ขาย แล้ว Remove ก็ได้) สุดท้ายก็จะเหลือแค่สิ่งที่เราจัด Group ใหม่เท่านั้น (ถ้าต้องการก็ Rename คำว่า Group1 ได้)
    Pivot-Group3  

วิธีการจัดกลุ่มแบบ Auto : ข้อมูลเป็นตัวเลข

  • ให้เลือกที่ Label ช่องใดช่องหนึ่งแล้วกด Group Selections หรือ กดคลิ๊กขวา –> Group… จะมีหน้าต่าง Grouping ให้กำหนดจุดเริ่มต้น จุดสิ้นสุด และความกว้างของช่วง ซึ่งเราลองเปลี่ยนค่าเล่นได้ว่าจะให้เริ่ม/ จบ/แบ่งช่วง ทีละเท่าไหร่?
    pivot-grouping
  • เมื่อกด Ok สิ่งที่ขึ้นมาจะขึ้นเป็นช่วงตัวเลขมาให้โดยอัตโนมัติ โดยที่ค่าที่น้อยว่าจุด Start และ ค่าที่มากกว่าจุด End ก็จะกลายเป็นอีกกลุ่มหนึ่ง

ผลของการ Grouping จะแยกเป็น 2 กรณี ดังนี้

กรณีที่ต้นฉบับเป็นเลขจำนวนเต็ม กรณีที่ต้นฉบับมีเลขทศนิยม
Pivot-Group-Number pivot-group-decimal
 เมื่อจัดกลุ่มแล้วเลขจะไม่ซ้ำกัน ซึ่งไม่น่าจะทำให้เกิดความสับสนอะไรpivot-grouping2 เวลาจัดกลุ่มแล้วเลขจะขึ้นซ้ำกันpivot-group-decimal2
วิธีการตีความคือเลขตัวเริ่มจะอยู่ใน Group นั้นเสมอ เช่น 150 จะอยู่ในกลุ่ม 150-250ไม่ได้อยู่ในกลุ่ม 50-150 เป็นต้น 

วิธีการจัดกลุ่มแบบ Auto : ข้อมูลเป็นวันที่

  • ให้เลือกที่ Label ช่องใดช่องหนึ่งแล้วกด Group Selections มันจะขึ้นให้เลือกว่าจะจัดกลุ่มวันที่ เริ่มที่เท่าไหร่ จบที่เท่าไหร่? แบ่งตามอะไร (เลือกได้หลายอันพร้อมกัน) เช่น วัน (ระบุได้ว่าเอาช่วงกี่วัน) , เดือน, Quarter, ปี เป็นต้น
    pivot-groupinig-date

สังเกตว่า ประเภทช่วงวันที่ที่ย่อยที่สุดที่เราเลือกตอน Grouping (Months) จะมาทับที่ Field เดิม (วันที่)

pivot-groupinig-date3

ระวัง! อย่างที่บอกไปตอนต้นว่าการจัดกลุ่มแบบ Auto จะเป็นการทับข้อมูล Field ต้นฉบับเลย ผมขอแนะนำว่า คุณควรจะเลือกตัวย่อยสุดตอนที่ทำการ Grouping ให้เป็น ระดับ Days (หรือย่อยกว่านั้น) ถ้าคุณไม่ใช้มัน ค่อยลากออกไปจาก Pivot Area ทีหลังก็ได้ ไม่งั้น Field ที่ชื่อว่า Days จะถูก Grouping เป็น Months สับสนตายเลย! 

4. สามารถเลือกวิธีการสรุปข้อมูล (Subtotal) ก่อนจะขึ้น Label ใหม่ได้

ปกติแล้ว หากเราใส่ Row Label ไป 2 Field ซ้อนกัน เช่น ผมลองเอา สินค้ามาซ้อนกับผู้ซื้อ มันจะมีการสรุปข้อมูลเป็น Subtotal ให้เราก่อน เช่น SUM AVERAGE MAX MIN เป็นต้น โดยที่เราสามารถเลือกตัวสรุปข้อมูลที่ต้องการได้ หรือจะใส่พร้อมๆกันหลายๆ อันก็ยังได้

วิธีการทำดังนี้

  • ให้คลิ๊กขวาที่ Label ที่ต้องการจะทำการ Subtotal (เช่น นาย a) แล้วเลือก Field Settings
  • None = ไม่แสดงการสรุปข้อมูล
  • Custom สามารถเลือกได้หลายตัวพร้อมกัน

Pivot-SubTotal Pivot-SubTotal2

Pivot-SubTotal3

ลูกเล่นที่ Values

ส่วนใหญ่แล้ว สิ่งที่ซับซ้อนของ PivotTable จะอยู่ที่วิธีการคำนวณตรง Values นี่แหละครับ เพราะมันมีให้ปรับได้หลากหลายมาก เช่น ในตัวอย่างข้างบนใช้วิธี SUM แต่ Pivot ยังมีวิธีอื่นๆอีกเยอะแยะครับ เช่น COUNT, AVERAGE, MAX, MIN เป็นต้น

วิธีการปรับแต่งคือให้ คลิ๊กขวาที่ Field ข้อมูลที่ต้องการจะปรับแล้วกด Value Field Setting ครับโดยหลักๆ จะมีให้ปรับ 2 เรื่อง คือ 1) Summarized by และ 2) Show Value As

Summarized by

เป็นการสั่งว่าจะให้ Excel ทำการสรุปทางสถิติด้วย Function อะไร โดยมีฟังก์ชั่นให้เลือกดังรูป โดยที่มีฟังก์ชั่นสรุปผลที่หลากหลาย เช่น  Sum / Count (นับทุกอย่างที่ไม่ว่าง เหมือนฟังก์ชั่น COUNTA) / Count Number (นับเฉพาะเลข เหมือนฟังก์ชั่น COUNT) / Average / Max / Min / Product / StdDev / StdDevp / Var / Varp

Pivot-Summarized-by

Pivot-Summarized-by-example

 

Show Value As

เป็นการเอาค่าที่คำนวณได้จาก Summarized by มาคิดต่อ ว่าจะให้แสดงสัมพันธ์กับช่องอื่นของ Pivot ยังไง ปกติจะเป็น No Calculation แปลว่าจะแสดงค่าออกมาตรงๆ ไม่มีการคำนวณต่อ

Pivot-Show-value-as

แต่ถ้าเราลองไปเลือกตัวอื่น เช่น % of row มันก็จะเทียบ Grand Total ของแต่ละแถวให้เป็น 100% แล้วดูว่าค่าในช่องนั้นๆ เป็นกี่ % ของค่ารวมระดับแถว เป็นต้น

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

Show-value-as

การเปลี่ยนทิศทางการสรุปข้อมูล

กรณีที่มี VALUE ตั้งแต่ 2 Field ขึ้นไป เราสามารถกำหนดได้ว่าจะให้วางข้อมูลแต่ละ Field เรียงกันในแนวนอน หรือ แนวตั้ง โดยการลากคำว่า Ʃ Values ว่าจะให้แสดงอยู่ที่ Column หรือ Row Labels

อยู่ที่ Column Labels

Pivot-Value-Position2

Pivot-Value-Position

 

อยู่ที่ Row Labels

Pivot-Value-Position3

Pivot-Value-Position4