“อยากสร้างกราฟหน้าตาแบบนี้ ต้องทำยังไงครับพี่?”

กราฟที่ว่า หน้าตาแบบนี้ครับ

ColumnwithAverageLine_Solution_160729.png

ดูเผินๆ กราฟนี้ไม่ได้มีอะไร “พิเศษ” แต่ถ้ามองดีๆจะเห็นความ “พิเศษ” นั้น…

ลองสังเกตจุดเริ่มต้น กับ จุดสุดท้าย ของกราฟเส้น ครับ

เส้นจะลากจากซ้ายสุดไปขวาสุด ทะลุกราฟแท่งเดือน Jan และ เดือน Dec แบบเต็มๆ

ColumnwithAverageLine_WithDraw_160729

ถ้าสร้างกราฟเส้นด้วยวิธีปกติ จะได้หน้าตาประมาณนี้

ColumnwithAverageLine_Normal_160729.png

สังเกตจุดเริ่ม กับ จุดสุดท้าย ของกราฟเส้น

จะเห็นว่า เริ่มจากจุดกึ่งกลางของกราฟแท่งเดือน Jan และสิ้นสุดที่จุดกึ่งกลางของกราฟแท่งเดือน Dec

ไม่ใช่ลากทะลุกราฟทั้งแท่งเหมือนภาพที่ 1 และ 2

พอเดาได้ไหมครับว่าต้องใช้เทคนิคอะไร?

.

นอกจากเทคนิคทำให้กราฟเส้นทะลุกราฟแท่งแล้ว ยังมีอีกหนึ่งเทคนิคที่น่าสนใจ

นั่นคือ

การบอกตัวเลขค่าเฉลี่ยลงไปในกราฟ (ในที่นี้คือ Avg = 56.6)

แน่นอนว่า ไม่ได้ใช้วิธี Insert Text Box แน่นอน ^^

Focus_AverageDataLabel_160730

จริงๆแล้ว กราฟนี้สร้างง่ายมาก ถ้าเรา “คลิก” เทคนิค 4 ข้อนี้ครับ

  1. Axis Position: On tick marks
  2. Secondary Horizontal Axis
  3. Label Position: None
  4. Data Label: Value From Cell

ที่เหลือคือวิธีสร้างกราฟธรรมด๊า ธรรมดา

สร้างยังไงน่ะหรือครับ?

มาสร้างแบบ step-by-step กันเลย ^__^

เริ่มจาก ข้อมูลหน้าตาประมาณนี้

RawData.png

ถ้ามีข้อมูลแค่นี้ ไม่มีทางสร้างกราฟแบบที่ต้องการได้แน่นอน

เพราะเราจะสร้างได้แค่กราฟแท่ง

ส่วนที่เป็นเส้นค่าเฉลี่ยก็ Insert Line เอา แล้ววางแม่นๆ

(ใครแอบทำแบบนี้ ยอมรับมาซะดีๆ ^^)

เพื่อจะได้ไม่ต้องสร้างเส้นค่าเฉลี่ยด้วย Insert Line เราต้องเปลี่ยนเจ้าเส้นนี้ให้เป็นกราฟเส้น

จึงต้องเพิ่มข้อมูลอีก 1 ชุดเข้าไป ให้มีค่าเท่ากันทั้งหมด

และมีค่าเท่ากับค่าเฉลี่ยนั่นเอง

RawDataWithAverage.png

อ้อ! ตัวเลขนี้ (56.5833) เกิดจากการใช้ฟังก์ชั่น AVERAGE นะครับ

เวลาใส่สูตร ให้ลากครอบเซลล์ที่ต้องการทั้งหมดก่อน ในที่นี้คือ C2:C13

จากนั้นพิมพ์สูตรว่า

=AVERAGE($B$2:$B$13)

แล้วกด Ctrl+Enter

ย้ำ! ว่ากด Ctrl+Enter ไม่ใช่แค่ Enter เฉยๆนะครับ แล้วเราจะใส่สูตรได้พร้อมกันทีเดียว 12 เซลล์เลย

ว้าว!

ได้ข้อมูลแล้ว งั้นก็มาสร้างกราฟกันโลด

สำหรับเคสนี้ เลือกกราฟแบบ Combo ง่ายที่สุดครับ

ได้กราฟมาแว้ว!

Combo_ColumnWithLine_1VerticalAxis.png

การทำให้กราฟเส้นลากยาวจากซ้ายสุดๆ ไปขวาสุดๆ เราต้องปรับออปชั่นของ Horizontal Axis (แกนนอน) ที่เรียกว่า

Axis Poistion

วิธีการปรับคือ คลิกขวาที่แกนนอน แล้วเลือก Format Axis (หรือกด Ctrl+1 ก็ได้) แล้วเลือกไอคอนรูปกราฟด้านขวามือ

เปลี่ยน Axis Poistion จาก Between tick marks ให้เป็น On tick marks

AxisPosition_OnTickMarks.png

เปลี่ยนแล้วจะได้หน้าตาแบบนี้

AxisPosition_OnTickMarks_1Axis_Result.png

เฮ้ย!! กราฟแท่งหน้าตาเปี้ยนไป๋!!

ที่เป็นแบบนี้ เพราะกราฟแท่งและกราฟเส้นถูกเซ็ตในออปชั่นเดียวกัน กราฟเส้นโอเคแล้ว แต่กราฟแท่งโผล่มาแค่ครึ่งแท่ง

ซะงั้น!

วิธีแก้คือ ต้องแยกแกนระหว่าง กราฟแท่ง และกราฟเส้น

นั่นคือ ให้กราฟแท่งอยู่ที่ Primary Horizontal Axis (ไม่ต้องปรับ Axis Position หรือก็คือ ใช้ค่าดีฟอลต์ที่เป็น Between tick marks)

ส่วนกราฟเส้นอยู่ที่ Secondary Horizontal Axis (ปรับ Axis Position ให้เป็น On tick marks)

วิธีการย้ายแกนคือ คลิกขวาที่กราฟเส้น เลือก Format Data Series (หรือกด Ctrl+1)

แล้วเลือกออปชั่นที่เป็น Secondary Axis

SecondaryAxis.png

กราฟจะเปลี่ยนเป็นแบบนี้ครับ

Combo_ColumnWithLine.png

จริงๆแล้ว เราสามารถข้ามขั้นตอนนี้ โดยเลือกกราฟเส้นให้เป็น Secondary Axis ตั้งแต่แรกก็ได้

Combo_Menu_SecondaryAxis.png

แล้วทำไมไม่บอกตั้งแต่แรกล่ะ?

ผมกะจะแกล้งคุณ ^^

เอ๊ย! ผมอยากให้เข้าใจเหตุผลว่าทำไมต้องย้ายแกนครับ

ขั้นตอนต่อไป เราต้องปรับออปชั่นของ Secondary Horizontal Axis ให้เป็นแบบ On tick marks

ปัญหาก็คือ

หา Secondary Horizontal Axis ไม่เจอ!!

ที่หาไม่เจอ เพราะปกติแล้ว Secondary Horizontal Axis เค้าจะไม่เปิดเผยตัว

ถ้าต้องการให้เค้าเปิดเผยตัว เราต้องเรียกเค้าออกมา ด้วยวิธีนี้

Add_SecondaryHorizontalAxe_PlusSign.png

หรือวิธีนี้ครับ

Add_SecondaryHorizontalAxe_AddChartElement.png

หน้าตากราฟกลายเป็นแบบนี้แล้ว

SecondaryHorizontalAxis.png

กราฟของเรา มีชื่อเดือน 12 เดือน โผล่ขึ้นมาด้านบนซะยังงั้น

กลายเป็น มีเส้นแสดงชื่อเดือนทั้งด้านบน และด้านล่าง

เจ้าเส้นแสดงชื่อเดือนด้านบนนั่นล่ะครับ ที่เรียกว่า Secondary Horizontal Axis

ส่วนเส้นแสดงชื่อเดือนด้านล่าง ชื่อเต็มๆของมันคือ Primary Horizontal Axis

จะรู้ได้อย่างไรว่า เส้นไหนเป็น Primary เส้นไหนเป็น Secondary?

เป็นคำถามที่ดีมากครับ

เราสามารถเช็คได้ง่ายๆ ด้วยการคลิกองค์ประกอบกราฟจากเมนู Format แล้วเลือกจากดร็อปดาวน์

Format_ChartArea.png

ถ้าเลือก Secondary Horizontal Axis แล้วเส้นไหนถูกไฮไลต์ เส้นนั้นก็คือ Secondary Horizontal Axis นั่นเอง

Format_SecondaryHorizontalAxis.png

ได้ Secondary Horizontal Axis มาแล้ว

คราวนี้ก็ปรับ Axis Position ให้เป็น On tick marks ได้ซะที

คลิกขวาที่ Secondary Horizontal Axis แล้วเลือก Format Axis (หรือกด Ctrl+1) แล้วปรับโลด

AxisPosition_OnTickMarks

เริ่มใกล้เคียงขึ้นเรื่อยๆแล้ว

AxisPosition_OnTickMarks_Result.png

ปัญหาต่อไปก็คือ

จะเอาชื่อเดือนของ Secondary Horizontal Axis ออกได้ยังไง?

ง่ายมากครับ

เราก็เปลี่ยนตัวหนังสือให้เป็นสีขาว

Kidding_WhiteFont.png

ผมล้อคุณเล่นครับ ^^

วิธีที่ถูกต้องคือ เซ็ตให้แกน Secondary Horizontal Axis ไม่ต้องแสดง Label

หรือเซ็ต Label Position เป็น None นั่นเอง

วิธีการ ให้คลิกที่ Secondary Horizontal Axis

หน้าต่างด้านขวามือ (ถ้าเรายังไม่ได้ปิด ไม่แนะนำให้ปิดจนกว่าจะปรับแต่งกราฟเสร็จนะครับ ไม่งั้นก็ต้องเปิด-ปิดกันหลายรอบ) จะขึ้นคำว่า Format Axis

หรือถ้าใครเผลอปิดหน้าต่างด้านขวามือไปแล้ว ก็คลิกขวาที่ Secondary Horizontal Axis แล้วเลือก Format Axis (หรือกด Ctrl+1)

ตรงคำว่า Label Position เปลี่ยน (จากคำว่า Next To Axis) ให้เป็น None ครับ

LabelPosition_None_Menu.png

ชื่อเดือนด้านบนหายไปแล้ว!

LabelPosition_None_Result.png

ปัญหาต่อไปคือ จะทำยังไงให้เส้น Secondary Horizontal Axis หายไป

ง่ายมากครับ เราก็คลิกที่เส้น แล้วปรับให้เป็น No Line

(คงไม่มีใครเปลี่ยนเส้นเป็นสีขาวใช่ไหมครับ ^^)

Line_NoLine_Menu.png

แถ่น แทน แท๊น..

LabelPosition_None_NoLine_Result

เพื่อให้กราฟสื่อประเด็นชัดเจนขึ้น เราควรลบสิ่งเหล่านี้ให้อันตรธานหายไป

  • Gridlines
  • Legend (เพราะถึงไม่บอก คนอ่านก็รู้ได้)
  • Secondary Vertical Axis

ดูดีขึ้นไหมครับ ^__^

Delete_SecondaryVerticalAxis_Legend_Gindlines.png

จะดีขึ้นกว่านี้ ถ้าเราปรับ “ย่อย” อีกนิด ตามนี้ครับ

  • ลบ Primary Vertical Axis ทิ้งไป
  • บอกตัวเลขกราฟแท่งด้วย Data Label
  • ปรับ Gap Width กราฟแท่งให้ได้ประมาณ 50%
  • เปลี่ยนสีกราฟให้เป็นโทนเดียวกัน
  • เปลี่ยนความหนากราฟเส้น (Width) ให้เหลือเพียง 1.25 pt

เสร็จแล้ว!

คนละเรื่องเลยใช่ไหมล่ะ ^__^

BeforeAddValueFromCell.png

ใครงงเรื่อง Gap Width เราปรับกันตรงนี้ครับ

GapWidth.png

สำหรับเรื่องสี ถ้าคุณไม่ใช่โปรด้านนี้ ผมแนะนำให้ใช้ชุดสีที่ไมโครซอฟต์เตรียมมาให้แล้ว

เพราะมันดูดี และมีสไตล์

ชุดสีที่ว่า อยู่ตรงนี้ครับ

ChangeStyle_Color.png

เกือบเสร็จแล้วครับ

เหลือแค่ใส่ตัวหนังสือที่บอกว่า Avg = 56.6

(ห้ามใช้ Insert Text Box)

เราสามารถเซ็ตให้เจ้า Avg = 56.6 เป็น Data Label แบบหนึ่งได้

แต่ไม่ใช่ Data Label แบบธรรมดา เป็นแบบใหม่ (ที่มีเฉพาะเวอร์ชั่นตั้งแต่ 2013 ขึ้นไป) ที่เรียกว่า

Value From Cell

นั่นคือ เราสามารถกำหนดให้ Data Label แสดงค่าอะไร ตรงไหนก็ได้

ไม่จำเป็นต้องเป็นตัวเลขนั้นๆ หรือชื่อซีรีส์นั้นอีกต่อไปแล้ว!

ก่อนจะเซ็ตค่าให้เป็นแบบนั้น ต้องปรับข้อมูลนิดหน่อย

สมมติว่า ต้องการให้แสดงคำว่า Avg = 56.6 ตรงเดือน Nov

ต้องเพิ่มข้อมูล (คอลัมน์ D) แบบนี้ครับ

RawDataWithDataLabelValueFromCell.png

ตรงเซลล์ D12 ไม่ได้พิมพ์ว่า Avg = 56.6

แต่ให้ใช้สูตรนี้ครับ

=”Avg = “&TEXT(C12,”0.0”)

เราใช้ฟังก์ชั่น TEXT มาช่วย เพื่อกำหนดรูปแบบให้มีทศนิยม 1 ตำแหน่งเท่านั้น (0.0)

แล้วถ้าไม่ใช่ฟังก์ชั่น TEXT ล่ะ จะเป็นยังไง?

ถ้าไม่ใช่ฟังก์ชั่น TEXT และเขียนสูตรเป็น

=”Avg = “&C12

จาก Avg = 56.6 จะกลายเป็น

Avg = 56.583333333333333

เราคงไม่อยากให้มันขึ้นมาเป็นแบบนี้ใช่ไหมครับ T_T

เราจะใช้ข้อมูลที่เพิ่งทำขึ้นมาใหม่นี้ (D2:D13) เป็น Data Label ให้กับกราฟเส้น

วิธีการคือ สร้าง Data Label แบบปกติขึ้นมาก่อน

ระบุไปเลยก็ได้ว่า ให้อยู่ด้านบนของกราฟ

Add_DataLabel_Above.png

ได้ Data Label ออกมาเต็มเลย อย่าได้แคร์ครับ

DataLabel_NotFinish.png

คลิก Data Label แล้วเลือกคำว่า Value From Cells

DataLabel_ValueFromCell.png

จะได้หน้าต่างชื่อว่า Data Label Range ขึ้นมา

ให้เลือกข้อมูลที่เราเตรียมไว้เมื่อกี๊นี้ (D2:D13)

DataLabel_Range.png

ติ๊กเครื่องหมายถูก หน้าคำว่า Value ออกไป

(ตัวเลขลายตาเมื่อกี๊จะได้หายไป)

DataLabel_ValueFromCell_TickOffValue.png

เสร็จแว๊ววววว!!

ColumnwithAverageLine_Solution_160729.png

ขั้นตอนอาจดูเยอะนิดนึงนะครับ แต่ถ้าทำจริงๆ ใช้เวลาไม่ถึง 2 นาทีก็เสร็จ ^__^

ถ้าสนใจรายละเอียด สามารถดาวน์โหลดไฟล์ตัวอย่างได้จากลิงค์นี้ครับ

ColumnWithAverageLine_OnTickMark_160730

.

สิ่งสำคัญของกราฟนี้ ไม่ใช่เทคนิค แต่คือ จินตนาการ

เทคนิคต่างๆ ถ้าลองฝึกทำบ่อยๆ พอเห็นกราฟแบบนั้นแบบนี้ ก็พอเดาได้ว่า ต้องทำอย่างไร

สิ่งที่ยากคือ “กราฟหน้าตาแบบนี้”

เราเคยนึกถึง กราฟหน้าตาแบบนี้ หรือเปล่า?

เราเคยจินตนาการถึง กราฟที่ดีกว่านี้ หรือเปล่า?

ถ้าเรามีทั้ง เทคนิค และ จินตนาการ

เราจะสร้างกราฟรูปแบบใดก็ได้

วิเคราะห์ นำเสนอ สื่อสาร ได้ตรงประเด็น

และนั่นคือสิ่งที่มนุษย์ทำได้เหนือกว่า AI (Artificial Intelligence) ครับ

.

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

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